我有一个从数据库中生成的.ICS文件,该文件在iCal中正常工作,但在Google日历中是片状的。有时,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

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

有帮助吗?

解决方案

您的TZID看起来不正确。您应该将它们包括在DTStart和Dtend行中:

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

(请注意:除非您的时间是Zulu Time = GMT,否则请在时间戳末尾离开时间戳)

您应该添加一个序列:xxx,其中xxx是每次更新IC时会增加数字。例如

SEQUENCE:0

我确实设法使它起作用(很古怪),并且只有来自多个事件IC的单个事件ICS文件被导入了同样的问题。最好的技巧(暗示了其他地方)是从Google中获取导出的ICS文件,然后克隆它。

我最终创建了两个独立的IC文件生成器 - 一个用于ICAL(简单!),另一个用于Google(Hard)。 Outlook可能需要三分之一。

很快,您应该点击下一个问题,即Google要求您指定ICS文件的时区和每个事件,这使您的应用程序更加复杂。相比之下,Apple ICal可以使您的应用程序发布“浮动时间”,这些时间被认为是本地的。

您可能会尝试这样尝试的一堆ICS文件验证工具,这真的很有帮助...

http://icalvalid.cloudapp.net/

警告:传递此验证工具的文件仍然因Google而失败。 Google应该真正创建自己的ICS验证工具。

等待查看我在这篇文章中得到多少箭头代表!

其他提示

我只是遇到类似的问题。

删除UID或更改数字似乎对我有用。 (我的vevents依次编号1,2,...)

我有一个类似的问题 ,

如果您想将ICS文件导入Google日历,

您必须在多个事件中拥有不同的UID

我的文件包含一个 VFREEBUSY 第一个街区 VEVENT. 。删除该块使我可以上传它。

我不知道该块内部是否存在问题,还是不支持整个块,但是文件正在通过验证 iCalendar.org.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top