2009-12-08 127 views
4

我有一个.ics文件,我从我们的数据库生成的,在iCal中正常工作,但在谷歌日历中呈片状。有时Google日历会导入该文件,但它不会提取所有事件。谷歌日历.ics导入标准

有没有人对Google需要的必填字段有任何提示?我对此感到茫然,为什么有时它不会导入,或者为什么它不喜欢某些事件。有些日子,我们有3个事件,但谷歌只显示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 

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

回答

7

你的TZID看起来不正确。你应该包括他们在DTSTART和DTEND线路是这样的:

DTSTART;TZID=Pacific/Honolulu:20110628T140000 
DTEND;TZID=Pacific/Honolulu:20110628T140000 

(注意:离开“Z”的关闭时间戳的结束,除非你的时间是祖鲁时间= GMT)

你应该添加一个SEQUENCE:xxx,其中xxx是每次更新ics时都会增加的数字。例如。

SEQUENCE:0 

我还是设法得到这个工作(这是古怪的),并与从我的多个事件ics文件得到进口仅单一事件同样的问题。最好的技巧(暗指其他地方)是从Google导出一个导出的ics文件,然后克隆它。

我结束了创建两个单独的ics文件生成器 - 一个用于iCal的(容易!),一个用于谷歌(硬)。 Outlook可能需要三分之一。

很快,您应该点击下一个问题,即Google要求您为ICS文件指定时区,并且每个事件都会使您的应用编码变得更加复杂。 Apple iCal比较可让您的应用程序发布假定为本地的“浮动时间”。

有一堆的ICS文件的验证工具,你可以尝试这样一个可以真正的帮助......

http://icalvalid.cloudapp.net/

警告:文件通过此验证工具仍不能与谷歌。谷歌应该真的创建它自己的ics验证工具。

[等着看我有多少向下的箭头代表得到这个职位!]

+0

这对我来说是一种惊人的帮助! +1非常感谢,... – 2013-05-03 17:24:39

1

我只是有类似的问题。

删除UID或更改号码似乎适用于我。 (我的vevents编号顺序1,2,...)

0

我有一个类似的问题,

如果你想导入的ics文件到谷歌日历,

你必须有不同的UID在多个事件

0

我的文件包含一个VFREEBUSY在第一个VEVENT之前阻止。删除该块允许我上传它。

我不知道是否有该块内或如果不支持整个块的问题,但该文件是经过验证的icalendar.org