我正在编写一个应用程序,它将发送主要由Outlook解释的.ics文件。当我的应用程序发送更新时,它将成功更新除组织者日历之外的每个人的日历。我使用相同的UID,每次都递增SEQUENCE。我是组织者,因此ICS文件中还缺少其他任何东西吗?或者它不更新我的日历?
以下是我们正在使用的ics代码的示例:
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 16.0 MIMEDIR//EN
VERSION:2.0
METHOD:REQUEST
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VTIMEZONE
TZID:Eastern Standard Time
BEGIN:STANDARD
DTSTART:16011104T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010311T020000
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
ATTENDEE;CN='test';RSVP=TRUE:mailto:test@testing.com
ATTENDEE;CN='attendee';RSVP=TRUE:mailto:attendee@attendees.com
CLASS:PUBLIC
CREATED:20180628T182531Z
DTSTART;TZID=Eastern Standard Time:20180630T141500
DTEND;TZID=Eastern Standard Time:20180630T160000
DTSTAMP:20180628T182531Z
LAST-MODIFIED:20180628T182531Z
LOCATION:some place
ORGANIZER;CN=Conference Room Board:mailto:test@testing.com
PRIORITY:5
SEQUENCE:1
SUMMARY;LANGUAGE=en-us:test
TRANSP:OPAQUE
UID:SomeUniqueUID
CREATED:20180628T182531Z
DESCRIPTION:Test
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-DISALLOW-COUNTER:FALSE
X-MS-OLK-AUTOFILLLOCATION:TRUE
X-MS-OLK-CONFTYPE:0
END:VEVENT
END:VCALENDAR
感谢您的帮助!
答案 0 :(得分:0)
这是预期的。作为组织者,您的客户假定只有自己可以控制邀请。因此,它忽略了其他方发出的邀请。 您可能希望使组织者也成为与会者,但不能保证这会起作用。
请参见Change event description for organizer using VCalendar和When creating an iCal event on behalf of an organizer and email it to him, no "Add to calendar" or "RSVP" wrappers appear
答案 1 :(得分:0)
所以,你们是正确的,这是预期的行为。我尝试将组织者添加为与会者,并在尝试创建事件取消时遇到麻烦。组织者将收到电子邮件,但由于被认为是组织者而无法从日历中删除。
我最终放弃使用ICS文件,而是开始使用通过Exchange Web服务进行通信的库。 EWS允许我模拟通过API在某人的日历上创建会议,然后像在Outlook中创建会议一样添加与会者。具体来说,我使用的是python,所以我开始使用https://cloud.google.com/bigquery/docs/partitioned-tables。
我想为任何可能偶然发现此问题的人提供一个答案。