问题
I have an .ics file I manually create with PHP like the following:
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
This works fine when importing into outlook 2007 (as well as Google calendar). In outlook 2003 I get the following error:
"This error can appear if you have attempted to save a recurring Lunar Calendar in iCalendar format. To avoid this error, set the appointment option to Gregorian instead of Lunar."
Is there something I need to change in the .ics file to get this to work with Outlook 2003?
(I don't have Outlook 2003 to test with at the moment)
回答1:
So, after some trial and error with a 2003 test system and I found that adding the following:
DTSTAMP:20101103T120000Z
allowed Outlook 2003 to import the .ics file without breaking 2007, iCal or Google.
I also, for good measure added the UID line to my final .ics file.
So, my final .ics file looks like this:
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
All I did was create a manual entry in outlook 2003, saved it as a .ics and did a comparison on what was missing/different from my original.
All works well now.
UPDATE
One additional change, I removed the VERSION:2.0
bit and that made all work even more reliably.
回答2:
Add:
CALSCALE:GREGORIAN
METHOD:PUBLISH
That worked for me.
回答3:
Deleting "VERSION:2.0" was all it took to make a 3rd party .ics meeting open fine for me in Outlook 2003.
来源:https://stackoverflow.com/questions/5670515/outlook-2003-does-not-import-ics-calendar-while-outlook-2007-does