我正在用Python编写一个系统,该系统使用icalendar库生成ical邀请。这些工作非常出色,但是如果我尝试发送取消通知,Outlook只会显示可怕的“不支持的日历message.ics”。我最初在邀请中遇到此问题,但通过修复日期格式解决了它。
这里是初始邀请:
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//myapp//myapp.example.com// METHOD:REQUEST BEGIN:VEVENT SUMMARY:Weekly Review Meeting DTSTART;VALUE=DATE-TIME:20200331T190000Z DTEND;VALUE=DATE-TIME:20200331T200000Z DTSTAMP;VALUE=DATE-TIME:20200325T193007Z UID:1@myapp SEQUENCE:0 ATTENDEE:[email protected] CATEGORY:EVENT CLASS:PUBLIC DESCRIPTION:bla bla LOCATION:Webex ORGANIZER:[email protected] PRIORITY:5 STATUS:CONFIRMED BEGIN:VALARM ACTION:DISPLAY DESCRIPTION:REMINDER TRIGGER;RELATED=START:-PT15M END:VALARM END:VEVENT END:VCALENDAR
然后取消:
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//myapp//myapp.example.com// METHOD:CANCEL BEGIN:VEVENT SUMMARY:Weekly Review Meeting DTSTART;VALUE=DATE-TIME:20200331T190000Z DTEND;VALUE=DATE-TIME:20200331T200000Z DTSTAMP;VALUE=DATE-TIME:20200325T193011Z UID:1@myapp SEQUENCE:1 ATTENDEE:[email protected] CATEGORY:EVENT CLASS:PUBLIC DESCRIPTION: LOCATION:Webex ORGANIZER:[email protected] PRIORITY:5 STATUS:CANCELLED BEGIN:VALARM ACTION:DISPLAY DESCRIPTION:REMINDER TRIGGER;RELATED=START:-PT15M END:VALARM END:VEVENT END:VCALENDAR
相同的代码会同时生成这两个代码,并分别设置
METHOD
和STATUS
(DESCRIPTION
也不同)。我发送SEQUENCE
为0的邀请和1为取消。匹配对之间的UID始终保持一致。我想念什么?
我正在用Python编写一个系统,该系统使用icalendar库生成ical邀请。这些工作非常出色,但是如果我尝试发送取消通知,则Outlook仅显示可怕的“不是...
我最终自己解决了这个问题。我将分享我的后世经验。