通过 METHOD:PUBLISH 结合 SEQUENCE 发布频繁更改的 iCalendar
Publishing frequently changing iCalendar via METHOD:PUBLISH in combination with SEQUENCE
我正在使用 ical-generator 库发布 iCalendar 提要。日历包含一个全天事件,它是对某一天发生的事情的预测。随着预测的更新,我想相应地更改事件的日期。
2021 年 2 月 21 日的示例事件的提要如下所示:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//sebbo.net//ical-generator//EN
METHOD:PUBLISH
TIMEZONE-ID:Europe/Berlin
X-WR-TIMEZONE:Europe/Berlin
BEGIN:VEVENT
UID:42
SEQUENCE:26852582
DTSTAMP:20210120T150245Z
DTSTART;VALUE=DATE:20210121
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Test
ORGANIZER;CN="XXX":mailto:xxx@xxx.com
X-PUBLISHED-TTL:PT1M
LAST-MODIFIED:20210120T150245Z
END:VEVENT
END:VCALENDAR
当我想更新事件时,我使用相同的 UID
但更新 DTSTART
和 SEQUENCE
(我使用“纪元以来的分钟数”来确定我的序列号正确反映了更新顺序)。
现在假设预测发生变化,事件必须移到第二天:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//sebbo.net//ical-generator//EN
METHOD:PUBLISH
TIMEZONE-ID:Europe/Berlin
X-WR-TIMEZONE:Europe/Berlin
BEGIN:VEVENT
UID:42
SEQUENCE:26852583
DTSTAMP:20210120T150309Z
DTSTART;VALUE=DATE:20210122
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Test
ORGANIZER;CN="XXX":mailto:xxx@xxx.com
X-PUBLISHED-TTL:PT1M
LAST-MODIFIED:20210120T150309Z
END:VEVENT
END:VCALENDAR
注:
UID
也是一样
DTSTART
现在是 2021 年 2 月 22 日
SEQUENCE
加1(分钟)
所有主要客户端(Outlook Web Access、Google 日历、Apple 日历)都能正确显示提要,但它们不会反映事件的任何更新。
我错过了什么?
事实证明一切都按预期进行,但是——正如@anmari 在评论中指出的那样——接收申请按自己的节奏检查。
我正在使用 ical-generator 库发布 iCalendar 提要。日历包含一个全天事件,它是对某一天发生的事情的预测。随着预测的更新,我想相应地更改事件的日期。
2021 年 2 月 21 日的示例事件的提要如下所示:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//sebbo.net//ical-generator//EN
METHOD:PUBLISH
TIMEZONE-ID:Europe/Berlin
X-WR-TIMEZONE:Europe/Berlin
BEGIN:VEVENT
UID:42
SEQUENCE:26852582
DTSTAMP:20210120T150245Z
DTSTART;VALUE=DATE:20210121
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Test
ORGANIZER;CN="XXX":mailto:xxx@xxx.com
X-PUBLISHED-TTL:PT1M
LAST-MODIFIED:20210120T150245Z
END:VEVENT
END:VCALENDAR
当我想更新事件时,我使用相同的 UID
但更新 DTSTART
和 SEQUENCE
(我使用“纪元以来的分钟数”来确定我的序列号正确反映了更新顺序)。
现在假设预测发生变化,事件必须移到第二天:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//sebbo.net//ical-generator//EN
METHOD:PUBLISH
TIMEZONE-ID:Europe/Berlin
X-WR-TIMEZONE:Europe/Berlin
BEGIN:VEVENT
UID:42
SEQUENCE:26852583
DTSTAMP:20210120T150309Z
DTSTART;VALUE=DATE:20210122
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Test
ORGANIZER;CN="XXX":mailto:xxx@xxx.com
X-PUBLISHED-TTL:PT1M
LAST-MODIFIED:20210120T150309Z
END:VEVENT
END:VCALENDAR
注:
UID
也是一样DTSTART
现在是 2021 年 2 月 22 日SEQUENCE
加1(分钟)
所有主要客户端(Outlook Web Access、Google 日历、Apple 日历)都能正确显示提要,但它们不会反映事件的任何更新。
我错过了什么?
事实证明一切都按预期进行,但是——正如@anmari 在评论中指出的那样——接收申请按自己的节奏检查。