为 类 个时间表创建 .ics 文件

Creating a .ics file for classes schedule

我目前有一个 .ics 文件,将用作我的 类 的时间表。它应该包含所有 类、它们的持续时间和开始时间,并且每周重复一次(但是,如果 Class X 在星期一和星期二都在 9:00,并且在 10:00一个星期四,这使得 2 个独立的事件具有不同的 UID 但相同的摘要)直到 Y 日期。对此进行测试并将其添加到 Google 日历时,会出现一个错误:“添加了 [TOTAL] 个事件的 Z”。我已成功通过以下事件重现错误(在本例中为“添加了 2 个事件中的 1 个”):

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//2 2017/2018//PT
BEGIN:VEVENT
UID:0
DTSTAMP:20180713T132719
DTSTART:20180219T100000
SUMMARY:Class 1
LOCATION:Location 1
DURATION:PT1H30M
RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20180601T000000;WKST=SU;BYDAY=MO
END:VEVENT
BEGIN:VEVENT
UID:11
DTSTAMP:20180713T132719
DTSTART:20180221T080000
SUMMARY:Class 2
LOCATION:Location 2
DURATION:PT1H30M
RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20180601T000000;WKST=SU;BYDAY=WE
END:VEVENT
END:VCALENDAR

只有第二个事件被正确添加到 Google 日历中。为什么?如果我去掉 Class 2 的事件,icalendar validator 不会显示任何错误。 2 个事件也没有任何错误(在验证器中)。

非常感谢任何指向正确方向的指示。

将您的 UID 更改为保证唯一(或至少不为零)的内容。参见 https://www.kanzaki.com/docs/ical/uid.html

我在确认 UID=0 的文件未加载后更改了您文件中的 UID。然后加载两个事件。

对于我的 ics 文件,我使用网站 url 加上唯一标识符(例如,对于 wordpress 网站,它是添加到 wp url 的 post id)