我使用Python和日历库创建了一个.ics文件。下面给出了一个示例文件。这个例子包含三个事件,在现实生活中,它们是一个类的时间表事件。
b'BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//Python iCalendar timetable//\r\nBEGIN:VEVENT\r\nSUMMARY:COURSE NAME 2016-17 LECTURE - abc (A.N.Other)\r\nDTSTART;TZID=Europe/London;VALUE=DATE-TIME:20161011T160000\r\nDTEND;TZID=Europe/London;VALUE=DATE-TIME:20161011T170000\r\nDTSTAMP;VALUE=DATE-TIME:20160923T015643Z\r\nUID:20161011160000/abc/course2016-17\r\nLOCATION:Room1232\r\nORGANIZER;CN=A.N.Other;ROLE=Boss:MAILTO:A.N.Other@somewhere.com\r\nEND:VEVENT\r\nBEGIN:VEVENT\r\nSUMMARY:COURSE NAME 2016-17 LECTURE - def (John Smith)\r\nDTSTART;TZID=Europe/London;VALUE=DATE-TIME:20161012T110000\r\nDTEND;TZID=Europe/London;VALUE=DATE-TIME:20161012T120000\r\nDTSTAMP;VALUE=DATE-TIME:20160923T015643Z\r\nUID:20161012110000/def/course2016-17\r\nLOCATION:Room334\r\nORGANIZER;CN=A.N.Other;ROLE=Boss:MAILTO:A.N.Other@somewhere.com\r\nEND:VEVENT\r\nBEGIN:VEVENT\r\nSUMMARY:COURSE NAME 2016-17 LECTURE - ghi (Jane Doe)\r\nDTSTART;TZID=Europe/London;VALUE=DATE-TIME:20161014T100000\r\nDTEND;TZID=Europe/London;VALUE=DATE-TIME:20161014T110000\r\nDTSTAMP;VALUE=DATE-TIME:20160923T015643Z\r\nUID:20161014100000/ghi/course2016-17\r\nLOCATION:Room442\r\nORGANIZER;CN=A.N.Other;ROLE=Boss:MAILTO:A.N.Other@somewhere.com\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n'
.ics文件使用http://severinghaus.org/projects/icv/
生成验证在运行El Capitan的Mac上使用日历打开ics文件时,会将事件导入所选的Exchange日历。但是,完成此操作后,Calendar会拒绝连接到Exchange Server以同步日历。例如,如果我尝试添加被邀请者,则会显示错误消息:
Calendar can’t save the event “COURSE NAME 2016-17 LECTURE - abc (A.N.Other)” to the Exchange server.
There was an error attempting to send your changes to the exchange server.
如果我删除了日历,我可以手动添加事件,这些事件将毫无问题地上传到Exchange服务器。
因此,似乎从ics文件上传的事件会导致阻止日历连接到Exchange Server的问题。
是否有任何理由说明在显示的.ics文件中编码的事件是否会导致阻止日历连接到Exchange Server的问题?
答案 0 :(得分:0)
我不知道为什么但似乎在.ics文件中包含LOCATION字段可能会导致一些问题。我在Including a LOCATION field in an .ics calendar file stops Calendar on MacOS El Capitan communicating with Exchange Server开了一个新问题,看看是否有人有答案。