Sounds like a very silly question, but I tried, and it isn't too easy to find a simple answer to this simple question on google.
The longer story:
Before I started my search, I just took it for granted that SharePoint provides a web service to access a calendar using iCal.
But after having searched I fear I was totally wrong. I just don't want to believe it. Not even in SharePoint 2010? Twelve years after the standard was published?!
I found a blog about implementing an iCal export, but to be honest, implementing it clean, complete and bugfree, and ideally even two-way is just too much of an effort to start before asking here.
I also found a commercial product called MashPoint, but it's overkill.
The tiny remaining spark of hope makes me put this as a SO question and hope that after the coffee, the whole world looks different all of a sudden.
Creating a SharePoint Calendar Once you are on the SharePoint site that you are adding the calendar to, click the Settings icon (gear icon) in the top right and select Add an App. You will be presented with a list of apps that you can add. Scroll down and select Calendar. Name your calendar.
With a calendar on the SharePoint site, you and your colleagues will have easy access to common schedules and dates.
However, the view won't change on your SharePoint site until you edit the web part settings to your desired view. To do this, click the edit web part icon, and then change View to Calendar and hit Apply .
Changing the Scope in Your SharePoint Calendar To change this, open the calendar tab and select Day, Week, or Month view. This will provide temporarily change the calendar view. You'll need to create a custom view if you want to change the default calendar scope permanently.
SharePoint does support iCalanders. I am currently using on an events list so people can save to their outlook.
You can download the .ics based on the url like so:
http://yoursite/_vti_bin/owssvr.dll?CS=109&Cmd=Display&List=%7BListID%7D&CacheControl=1&ID=1&Using=event.ics
Replacing yoursite with your host name, ListID with the ID of your list with the events and the ID=1 with whatever list item number you want.
In SharePoint designer you can implement into the page as a hyperlink like the following example:
http://yoursite/Marketing/_vti_bin/owssvr.dll?CS=109&Cmd=Display&List=%7BA742AAC4%2D2654%2D4E64%2D9280%2D7813D2A343A2%7D&CacheControl=1&ID={$thisNode/@ID}&Using=event.ics
I'm not sure about a direct web service to retrieve the iCal if you want to use pragmatically but i'm sure you can just use this URL and a stream reader to save or manipulate.
You can use the "RSS Feed" option in the "Calendar Tools" section to help find the correct url. Each item in the RSS feed will have an event.ics generated by the owssvr.dll, which you can then convert to the format described by kravitz88 to get an ics for the whole calendar.
If your original URL was something like this:
http://SHAREPOINT.local/siateam/Lists/Calendar/calendar.aspx
Then inside the RSS item links should look something like this:
http://SHAREPOINT.local/siateam/_vti_bin/owssvr.dll?CS=65001&Cmd=Display&CacheControl=1&List={df83eb1b-0403-42ec-8198-ec523bf1acc1}&ID=254&Using=%2Fsiateam%2FLists%2FCalendar/event.ics
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With