PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP-Outlook 2003不会导入.ics日历,而Outlook 2007却大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个.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)

解决方法:

因此,在使用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,并与原始文档进行比较/比较.

现在一切正常.

更新
另外一项更改是,我删除了VERSION:2.0位,使所有工作更加可靠.

大佬总结

以上是大佬教程为你收集整理的PHP-Outlook 2003不会导入.ics日历,而Outlook 2007却全部内容,希望文章能够帮你解决PHP-Outlook 2003不会导入.ics日历,而Outlook 2007却所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: