2010年版SharePoint是否支持iCalendar格式?

9

听起来像个非常愚蠢的问题,但我尝试了一下,在谷歌上找到一个简单的答案并不容易。


更长的故事:

在我开始搜索之前,我认为SharePoint提供了一个Web服务来使用iCal访问日历,这是理所当然的。

但是,在经过搜索之后,我害怕我完全错了。我只是不想相信。即使在SharePoint 2010中也不是这样吗?标准发布已经12年了?!

我找到了一篇有关实现iCal导出的博客,但说实话,在开始询问之前,实现它的清洁、完整和无缺陷,最好甚至是双向的,需要太多的努力。

我还发现了一个商业产品MashPoint,但这太过于复杂了。

那微小的希望之火促使我发布了一个stackoverflow问题,希望在喝完咖啡后,整个世界会突然变得不同。

嗯,你说得对 - 很难找到答案。我会关注这个问题的 :-) - Lars Corneliussen
@Lars:你可能不太幸运,我在四月份发布了它,但从未得到任何回应... - chiccodoro
4个回答

5

SharePoint支持iCalendars。我目前在活动列表上使用它,这样人们就可以保存到他们的Outlook中。

您可以通过以下方式基于URL下载.ics文件:

http://yoursite/_vti_bin/owssvr.dll?CS=109&Cmd=Display&List=%7BListID%7D&CacheControl=1&ID=1&Using=event.ics

将yoursite替换为您的主机名,将ListID替换为具有事件列表的列表的ID,将ID = 1替换为您想要的任何列表项号码。

在SharePoint Designer中,您可以将其实现为超链接,如下例所示:

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

如果你想要编程实现检索 iCal 的 web 服务我不确定是否有直接的方法,但是我确信你可以使用这个URL和一个流读取器来保存或操作。


谢谢!它支持只读吗?或者你也可以使用iCal向SharePoint发送事件/更新吗?这将使您能够将iPhone日历与SharePoint同步,例如。 - chiccodoro
此方法为只读。如果您想要更互动的样式,请查看在Outlook中订阅SharePoint日历,这将保持事件更新。否则,有一些代码解决方案可以同步Outlook和SharePoint。 - kravits88
两年前的问题,今天我意识到我没有正确区分iCal和CalDav。我想我当时寻找的是一个CalDav接口。但考虑到我当时提出的问题,这看起来像是一个完美的答案。 - chiccodoro

5
您可以在“日历工具”部分使用“RSS订阅”选项来帮助找到正确的URL。 RSS订阅中的每个条目都将有一个event.ics,由owssvr.dll生成,您可以将其转换为kravitz88描述的格式,以获得整个日历的ics文件。Sharepoint ICS如果您原始的URL是这样的:http://SHAREPOINT.local/siateam/Lists/Calendar/calendar.aspx,那么在RSS项目链接中应该看起来像这样: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

0

再次强调,这可能不是一种非常直接的导出到iCalendar的方法,但这可能有所帮助。我在Sharepoint 2007中发现(我不确定2010是否也有此功能,但很可能有),您可以使用“视图”按钮和菜单创建自己的日历视图:

  1. 创建视图
  2. 数据表视图
  3. 在“视图名称”字段中为视图命名,并在下面的列表中选中要导出的所有字段。
  4. 一旦您有了新的数据表视图,这应该会在一个(可滚动)表格中显示整个日历中的所有事件。
  5. 选择全部内容(Ctrl-A),然后复制并粘贴...

我发现MS Excel 2013出于某种原因不想粘贴获取的剪贴板内容,但LibreOffice Calc可以毫无问题地完成它。我以这种方式导出的特定日历在五年内分散了大约1,300个事件。

将得到的表格转换为iCalendar格式...(我还没有做过这个,但应该是容易的部分;可能需要阅读标准:https://www.rfc-editor.org/rfc/rfc5545)

谢谢。问题是SharePoint是否有iCal API。由于kravits和Greg已经回答了这个问题,两者都提供了获取iCal API URL的方法,那么你新添加的答案有什么价值呢? - chiccodoro

0

iCalendar(iCal/CalDav)格式的单个日历事件

打开SharePoint日历事件,点击“自定义命令”选项卡,然后点击“导出事件”。您将被提示保存一个“.ics”类型的文件 - 这是与所有日历客户端兼容的iCalendar文件。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接