用于Google日历的字符编码和带有.ics文件的VALARM - >苹果手机

时间:2012-03-05 19:26:05

标签: python google-calendar-api icalendar

我正在使用Python生成一个iCal .ics文件,我将其发布到我的FTP。然后我将URL添加到Google日历 - Python脚本上传文件,并且(希望)Google会每天刷新一次,最后我可以通过Google将其添加到我的iPhone日历订阅中。

Google日历会读取文件并显示我的活动,但有几个问题:

  • 我正在使用一些“外国”字符(å,ä,ö),在Google日历中,这些字符显示为 。我将文件保存为UTF-8,尝试使用和不使用BOM,我还将以下MIME内容类型类型添加到我的FTP提供程序:text/calendar .ics

  • Google日历似乎无法识别警报(文件中的VALARM部分)。

感谢有关该主题的任何帮助。 .ics(略微修改的值)包含在下面。它使用在线iCal验证网站验证为100%。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//My Name//My App Name//SV
BEGIN:VTIMEZONE
TZID:Sthlm
BEGIN:STANDARD
DTSTART:20111030T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:SUMMER
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20120325T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:WINTER
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:somegeneratedid@myname.mydomain
DTSTART;TZID=Sthlm:20120320T165000
DTEND;TZID=Sthlm:20120320T170000
SUMMARY:Strange character å
DESCRIPTION:This is the description
BEGIN:VALARM
TRIGGER:-PT60M
ACTION:DISPLAY
DESCRIPTION:Alert alert
END:VALARM
END:VEVENT
END:VCALENDAR

2 个答案:

答案 0 :(得分:2)

对于VALARM无法正常工作,请仔细检查所使用的行尾是\r\n,而不仅仅是\n,因为网络上的许多示例都错误地显示了这一行。

有关详细信息,请参阅我在此处对类似问题的回答:https://stackoverflow.com/a/16540934/834431

答案 1 :(得分:1)

通过使用内容类型“text / calendar; charset = UTF-8”配置我的网络服务器解决了外来字符问题。