我有一个.ics文件,我用PHP手动创建如下:
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格式保存定期月球日历,则会出现此错误。要避免此错误,请将约会选项设置为Gregorian而不是Lunar。”
我是否需要在.ics文件中更改以使其与Outlook 2003一起使用?
(我目前没有Outlook 2003进行测试)
答案 0 :(得分:3)
因此,在经过2003测试系统的一些试验和错误后,我发现添加了以下内容:
DTSTAMP:20101103T120000Z
允许Outlook 2003在不破坏2007,iCal或Google的情况下导入.ics文件 我也很好地将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并对原始内容的缺失/不同进行了比较。
现在一切正常。
<强>更新强>
一个额外的更改,我删除了VERSION:2.0
位,这使得所有工作更加可靠。
答案 1 :(得分:1)
添加:
CALSCALE:GREGORIAN
METHOD:PUBLISH
这对我有用。
答案 2 :(得分:0)
删除“VERSION:2.0”只需要在Outlook 2003中为我开一个第三方.ics会议。