2012-02-09 178 views
6

我正在使用我的Sharepoint web部件(使用VS2010创建)的“添加到日历”功能。ICal导入创建新日历打开ics文件

我以编程方式导出ICS文件没有问题。

但问题是,当我尝试从OUTLOOK打开ICS文件。

如果ICS文件有预约单,没有任何问题....

如果ICS文件有多个约会时,问题就来了......

当我做文件>>打开>>进口>>选择ics文件,它工作正常

,但如果我尝试只需双击该文件ICS,它会创建一个新的日历,而不是更新我现有的默认日历

任何建议...?

回答

3

请参阅this SO post这表明Outlook将仅支持使用ICS作为feed or subscription的多个事件 - 不直接作为单个ICS导入。

+0

感谢sliverninja找到,所以你的意思是,我们无法实现这一功能??? – user1199808 2012-02-09 20:35:05

+0

您需要实施变通办法 - 将每个日历事件脚本编入单独的ICS文件或使用ICS订阅源。这是Outlook支持具有多个事件的ICS的限制。 – SliverNinja 2012-02-09 20:41:50

+0

你能举个例子吗?即时通讯使用HTTP标头响应导出ics文件。它支持只导入一次文件... 是我的示例代码.. private void WriteCalendar(String data) { HttpResponse resp = Page.Response; res.Clear(); res.Buffer = true; res.ContentType =“text/calendar”; res.ContentEncoding = Encoding.UTF8; res.Charset =“utf-8”; res.AddHeader(“Content-Disposition”,“attachment; filename = \”Events.ics \“”); res.Write(data); res.End(); } – user1199808 2012-02-10 14:25:36

14

我们有类似的问题,发现如果ICS文件中有X-WR-CALNAME字段,即使它是空白的,Outlook也会自动创建一个新的日历。如果它没有这个字段,那么Outlook会导入它。

+0

这是一个很好的评论! – whitehat101 2012-08-15 17:35:45

+2

正是我所需要的。删除X-WR-CALNAME为我工作。 – brianm 2013-05-17 17:59:07

+0

我们的问题到底是什么。 – Aravona 2016-04-28 12:15:31

3

我有同样的问题。当点击.ics文件时,outlook会创建一个新日历,而不是更新现有日历。

我解决了这个由的.ics文件中添加此描述:

X-WR-RELCALID:XXXXXX 

其中XXXXXX是日历上的一个独特的价值。然后,Outlook将要求您更换日历,而不是添加新日历。

描述符是在http://en.wikipedia.org/wiki/ICalendar

+0

X-WR-RELCALID:XXXXXX - 这应该是问题的答案(和一些其他相关问题)。通过将这一行添加到我的ics文件中,整个日历得到更新(在Outlook中提示后)。您甚至不需要更改DTSTAMP或SEQUENCE或ORGANIZER和METHOD:发布适用于更新。只需更新活动详情,日历即可更新。请注意,如果您已发布日历并提供了供人查看的网址,那么也可以正常工作。他们只需要约2分钟后刷新,他们也会得到更新。 – 2016-06-21 23:32:22

+0

在哪里可以找到日历的ID以取代XXXXXX? TNX – masciugo 2017-05-26 10:22:41

相关问题