我正在开发一个应用程序,它向用户提供带有一些事件的.ics(iCalendar文件)。这个文件是通过电子邮件发送的,我已经意识到有时gmail会让你自动添加,有时候没有。有人知道为什么会这样吗? 我的ics文件包含9个事件:
BEGIN:VCALENDAR
BEGIN:VEVENT
SUMMARY:Pràctica 1 de Màquines Elèctriques
DTSTART;VALUE=DATE-TIME:20160425T160000
DTEND;VALUE=DATE-TIME:20160425T180000
LOCATION:Etseib B-B PL-1
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Demà Pràctica 1 de Màquines Elèctriques
TRIGGER:-PT1H
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pràctica 2 de Màquines Elèctriques
DTSTART;VALUE=DATE-TIME:20160509T160000
DTEND;VALUE=DATE-TIME:20160509T180000
LOCATION:Etseib B-B PL-1
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Demà Pràctica 2 de Màquines Elèctriques
TRIGGER:-PT1H
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pràctica 3 de Màquines Elèctriques
DTSTART;VALUE=DATE-TIME:20160530T160000
DTEND;VALUE=DATE-TIME:20160530T180000
LOCATION:Etseib B-B PL-1
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Demà Pràctica 3 de Màquines Elèctriques
TRIGGER:-PT1H
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pràctica 4 de Màquines Elèctriques
DTSTART;VALUE=DATE-TIME:20160307T160000
DTEND;VALUE=DATE-TIME:20160307T180000
LOCATION:Etseib H-5.4
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Demà Pràctica 4 de Màquines Elèctriques
TRIGGER:-PT1H
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pràctica 1 de Tecnologia i Selecció de Materials
DTSTART;VALUE=DATE-TIME:20160502T100000
DTEND;VALUE=DATE-TIME:20160502T120000
LOCATION:Etseib E-E -1
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Demà Pràctica 1 de Tecnologia i Selecció de Materials
TRIGGER:-PT1H
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pràctica 2 de Tecnologia i Selecció de Materials
DTSTART;VALUE=DATE-TIME:20160509T100000
DTEND;VALUE=DATE-TIME:20160509T120000
LOCATION:Etseib E-E -1
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Demà Pràctica 2 de Tecnologia i Selecció de Materials
TRIGGER:-PT1H
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pràctica 3 de Tecnologia i Selecció de Materials
DTSTART;VALUE=DATE-TIME:20160523T100000
DTEND;VALUE=DATE-TIME:20160523T120000
LOCATION:Etseib E-E -1
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Demà Pràctica 3 de Tecnologia i Selecció de Materials
TRIGGER:-PT1H
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pràctica 4 de Tecnologia i Selecció de Materials
DTSTART;VALUE=DATE-TIME:20160426T120000
DTEND;VALUE=DATE-TIME:20160426T140000
LOCATION:Etseib B-B.5
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Demà Pràctica 4 de Tecnologia i Selecció de Materials
TRIGGER:-PT1H
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pràctica 1 de Termotècnia
DTSTART;VALUE=DATE-TIME:20160309T120000
DTEND;VALUE=DATE-TIME:20160309T170000
LOCATION:Etseib H-H 7.56
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Demà Pràctica 1 de Termotècnia
TRIGGER:-PT1H
END:VALARM
END:VEVENT
END:VCALENDAR
答案 0 :(得分:0)
我遇到了同样的问题。有时,您通过电子邮件发送的事件将无法正常工作,因为某些属性无效。我建议你将有效邀请的来源与没有有效邀请的来源进行比较,你可能会发现问题。 您可以在此处验证来源: http://icalendar.org/validator.html
我在验证器中运行了代码,似乎缺少一些属性。
的 1 即可。在 VCALENDAR 之后,应该有属性PRODID和VERSION。即使它们是强制性的,您也只需要在ics文件中包含它们一次。
<强> 2 即可。对于您创建的每个事件,您需要包含 UID ,这是一种独特的密钥,只要它是唯一的,它就可以是任何东西。此外,您还需要一个 DTSTAMP ,其日期格式与 DTSTART 相同。您可以阅读here。
此外,如果你决定使用周期性事件,你将只有一个事件只有一个重复规则,你可以在同一个网站上阅读其他两个事件。
希望我能提供帮助。