Lotus Notes(和 MS Outlook).ICS 事件取消

Lotus Notes (and MS Outlook) .ICS event CANCELLATION

我正在尝试实施外部预约管理(使用 VCAL2)- 即 CREATEUPDATECANCEL 预约 - 我需要它与 Lotus Notes(可能在 MS Outlook 中)。

我认为我的 VCAL2 文件是正确的 (RFC 5545),并且 CREATEUPDATE 实际上运行良好。问题只存在于 CANCEL 并且只存在于 MS OutlookLotus Notes - 他们似乎忽略了取消请求。

CREATE.ics

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//myprod//ical-poc//SK
METHOD:PUBLISH
X-WR-RELCALID:5EF979C9-3764-4B55-93B8-3BB00DFA176C@uniq.id
X-PUBLISHED-TTL:P1W
BEGIN:VEVENT
UID:5EF979C9-3764-4B55-93B8-3BB00DFA176C@uniq.id
DTSTART;TZID=Europe/Bratislava:20150701T090000
SEQUENCE:0
TRANSP:OPAQUE
STATUS:CONFIRMED
DTEND;TZID=Europe/Bratislava:20150701T093000
SUMMARY:CREATED
ATTENDEE:mailto:valid@email.xxx
DESCRIPTION:Event description.
ORGANIZER:mailto:cal-poc@domain.com
DTSTAMP:20150630T182305Z
END:VEVENT
END:VCALENDAR

UPDATE.ics

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//myprod//ical-poc//SK
METHOD:REQUEST
X-WR-RELCALID:5EF979C9-3764-4B55-93B8-3BB00DFA176C@uniq.id
X-PUBLISHED-TTL:P1W
BEGIN:VEVENT
UID:5EF979C9-3764-4B55-93B8-3BB00DFA176C@uniq.id
DTSTART;TZID=Europe/Bratislava:20150701T110000
SEQUENCE:1
TRANSP:OPAQUE
STATUS:CONFIRMED
DTEND;TZID=Europe/Bratislava:20150701T113000
SUMMARY:UPDATED+2
ATTENDEE:mailto:valid@email.xxx
DESCRIPTION:Event description.
ORGANIZER:mailto:cal-poc@domain.com
DTSTAMP:20150630T182428Z
END:VEVENT
END:VCALENDAR

CANCEL.ics

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//myprod//ical-poc//SK
METHOD:CANCEL
X-WR-RELCALID:5EF979C9-3764-4B55-93B8-3BB00DFA176C@uniq.id
X-PUBLISHED-TTL:P1W
BEGIN:VEVENT
UID:5EF979C9-3764-4B55-93B8-3BB00DFA176C@uniq.id
DTSTART;TZID=Europe/Bratislava:20150701T110000
SEQUENCE:1
TRANSP:OPAQUE
STATUS:CANCELLED
DTEND;TZID=Europe/Bratislava:20150701T113000
SUMMARY:CREATED+2
ATTENDEE:mailto:valid@email.xxx
DESCRIPTION:Event description.
ORGANIZER:mailto:cal-poc@domain.com
DTSTAMP:20150630T182457Z
END:VEVENT
END:VCALENDAR

一如既往地回答我的问题(看来,将其发布在 S/O 上让我有一些超能力在接下来的几个小时内找到答案)。

似乎有多种 iCal 格式的属性组合,它们构成了每个客户端的有效文件。以下是我对它的分析(请注意,它不支持 RSVP,但 RSVP 只需要对文件进行一些调整,例如稍微不同的方法等,问题的重点是取消):

创建并更新约会

所有应用程序:

  • METHOD 必须是 PUBLISH
  • DTSTARTDTEND(或 DURATION)存在
  • SEQUENCE 必须在每次更新时递增
  • ORGANIZER必须存在
  • UID必须存在
  • X-WR-RELCALID for Outlook 必须存在且等于 UID
  • PRODID必须存在
  • STATUS 应该是 CONFIRMED

取消

所有应用程序:

  • STATUS 必须是 CANCELLED
  • 所有其他字段同上

Apple 日历:

  • METHOD 必须是 PUBLISH(或者实际上,不能是 CANCEL
  • DURATION(或DTEND)必须存在

Microsoft Outlook:

  • METHOD 必须是 CANCEL
  • DURATION(或DTEND不得存在

莲花笔记:

  • METHOD 必须是 CANCEL
  • DURATION(或DTEND)必须存在