我有一个使用 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
导入 Outlook 2007(以及 Google 日历)时效果很好。在 Outlook 2003 中,我收到以下错误:
“如果您尝试以 iCalendar 格式保存循环农历,则可能会出现此错误。为避免此错误,请将约会选项设置为公历而不是农历。”
我需要在 .ics 文件中更改某些内容才能使其与 Outlook 2003 一起使用吗?
(我目前没有 Outlook 2003 可供测试)
因此,在使用 2003 年的测试系统进行一些试验和错误之后,我发现添加以下内容:
DTSTAMP:20101103T120000Z
允许 Outlook 2003 导入 .ics 文件,而不会破坏 2007、iCal 或 Google。
为了更好地衡量,我还将 UID 行添加到了我的最终 .ics 文件中。
所以,我的最终 .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
我所做的就是在 Outlook 2003 中创建一个手动条目,将其另存为 .ics,并对缺少/与原始条目不同的内容进行比较。
现在一切正常。
UPDATE另一项更改是,我删除了VERSION:2.0
位,这使得所有工作更加可靠。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)