我有一个用PHP手动创建的.ics文件,如下所示:
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
CLASS:PUBLIC
DESCRIPTION:Some description here
LOCATION:Scheduled PTO
DTEND;VALUE=DATE:20101104
DTSTART;VALUE=DATE:20101103
PRIORITY:5
SEQUENCE:0
SUMMARY;LANGUAGE=en-us:PTO - 8.00 hour(s)
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
END:VEVENT
END:VCALENDAR这在导入Outlook2007(以及Google日历)时工作得很好。在outlook 2003中,我收到以下错误:
如果您试图以iCalendar格式保存定期农历,则可能会出现此错误。若要避免此错误,请将约会选项设置为公历而不是农历。
是否需要在.ics文件中进行某些更改才能使其与Outlook2003一起使用?
(我目前没有Outlook 2003可以测试)
发布于 2011-04-15 22:51:05
因此,在对2003年的测试系统进行了一些尝试和错误之后,我发现添加了以下内容:
DTSTAMP:20101103T120000Z允许Outlook2003在不破坏2007、iCal或谷歌的情况下导入.ics文件。
此外,我还在最终的.ics文件中添加了UID行。
因此,我的最终.ics文件如下所示:
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
CLASS:PUBLIC
DESCRIPTION:Some description here
LOCATION:Scheduled PTO
DTEND;VALUE=DATE:20101104
DTSTART;VALUE=DATE:20101103
DTSTAMP:20101103120000Z
UID: VACATIOND41D8CD98F00B204E9800998ECF8427E
PRIORITY:5
SEQUENCE:0
SUMMARY;LANGUAGE=en-us:PTO - 8.00 hour(s)
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
END:VEVENT
END:VCALENDAR我所做的只是在Outlook2003中创建了一个手动条目,将其保存为.ics,并对缺少的内容/与原始版本的不同之处进行了比较。
现在一切运行正常。
更新一个额外的变化,我删除了VERSION:2.0位,这使得所有的工作更加可靠。
发布于 2012-06-29 05:33:51
添加:
CALSCALE:GREGORIAN
METHOD:PUBLISH 这对我很管用。
发布于 2017-09-26 02:28:40
删除“版本:2.0”就可以在Outlook2003中打开一个第三方.ics会议。
https://stackoverflow.com/questions/5670515
复制相似问题