Google calendar api 为课程计划创建.ics文件

Google calendar api 为课程计划创建.ics文件,google-calendar-api,icalendar,Google Calendar Api,Icalendar,我目前有一个.ics文件,它将用作我的课程时间表。它应该包含所有的课程,课程的持续时间和开始时间,每周重复一次(但是,如果课程X在周一和周二的9:00,以及周四的10:00,这将产生两个不同UID但相同摘要的独立事件),直到Y日期。测试后,将其添加到Google日历中,会出现一个错误:“添加了[TOTAL]事件的Z”。我已设法用以下事件重现错误(在本例中为“添加了2个事件中的1个”): BEGIN:VCALENDAR VERSION:2.0 PRODID:-//2 2017/2018//PT B

我目前有一个.ics文件,它将用作我的课程时间表。它应该包含所有的课程,课程的持续时间和开始时间,每周重复一次(但是,如果课程X在周一和周二的9:00,以及周四的10:00,这将产生两个不同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日历中。为什么?如果我去掉类2的事件,则不会显示任何错误。这两个事件也没有任何错误(在验证程序中)


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

将您的UID更改为保证唯一的(或至少不为零)。看

在检查UID=0的文件是否未加载后,我更改了文件中的UID。然后加载这两个事件


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

这解决了这个问题。我尝试使用Linux命令行实用程序“uuidgen”生成UID,Google确实立即识别出了一切。谢谢