Google Calendar .ics导入标准

Nic*_*ard 5 icalendar google-calendar-api vcalendar

我有一个.ics文件,我从我们的数据库生成,可以在iCal中正常工作,但在Google日历中是不稳定的.有时谷歌日历会导入该文件,但它不会获取所有事件.

有没有人对Google需要的必填字段有任何提示?我在这里不知道为什么有时它不会导入,或者为什么它不喜欢某些事件.有些日子我们有3个活动,但Google只显示1个.

在网上其他地方搜索并没有真正帮助,因为似乎大多数其他人都有同样的问题.

以下是我的格式示例:

BEGIN:VCALENDAR
METHOD:PUBLISH
X-WR-TIMEZONE:America/Los_Angeles
CALSCALE:GREGORIAN
VERSION:2.0
PRODID:-//PUC Calendar// v2.0//EN
BEGIN:VEVENT
UID:31754826317
TZID:America/Los_Angeles
DTSTART:20091001T100000
URL;VALUE=URI:http://www.puc.edu/news/calendar/events/dates/colloquy-dr-knight
DTSTAMP:20091001T100000
SUMMARY:Colloquy: Heather Knight
DTEND:20091001T100000
LOCATION:Sanctuary
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

我们的.ics文件URL是:http://www.puc.edu/news/calendar/puc.ics

rih*_*lix 10

您的TZID看起来放置不正确.您应该将它们包含在DTSTART和DTEND行中,如下所示:

DTSTART;TZID=Pacific/Honolulu:20110628T140000
DTEND;TZID=Pacific/Honolulu:20110628T140000
Run Code Online (Sandbox Code Playgroud)

(请注意:除非你的时间是祖鲁时间=格林尼治标准时间,否则将'Z'留在时间戳的末尾

您应该添加SEQUENCE:xxx,其中xxx是每次更新ics时递增的数字.例如

SEQUENCE:0
Run Code Online (Sandbox Code Playgroud)

我确实设法让这个工作(这是古怪的)并且只有来自我的多个事件ics文件的单个事件被导入时遇到了同样的问题.最好的技巧(在其他地方提到)是从Google获取导出的ics文件然后克隆它.

我最终创建了两个独立的ics文件生成器 - 一个用于iCal(简单!),另一个用于Google(硬盘).也许Outlook需要三分之一.

很快您就应该触及下一个问题,即Google要求您为ICS文件指定时区,并且每个事件都会使您的应用程序编码变得更加复杂.相比之下,Apple iCal让您的应用程序发布"浮动时间",假设它们是本地的.

有一堆ics文件验证工具,你可能会尝试这样一个真正有用的...

http://icalvalid.cloudapp.net/

警告:通过此验证工具的文件仍然无法通过Google.谷歌应该真正创建它自己的ics验证工具.

[等着看我为这篇文章得到多少向下箭头代表!]