我正在构建一个网络应用程序来为用户管理某些类型的事件。我想提供一种在用户的谷歌日历中显示这些事件的方法。
我真正希望的是一种发布我自己的谷歌日历兼容提要并允许用户订阅它的方法,就像他们可以订阅“有趣的日历”一样。这样,如果事件发生变化或添加新事件,它们都会反映在日历中。但看起来谷歌只允许用户以 ical 或 csv 格式导入日历数据,而不是 Atom feed 格式。
问题是,我的网络应用程序中的现有事件可能会更改并添加新事件。我希望这些更改立即反映在谷歌日历中。我不能指望用户继续重新导入 ICAL 文件。以下问题非常相似,但实际上没有发布答案:生成与 Google 日历兼容的提要
我是否以错误的方式处理这个问题?我是否需要使用 gdata API 创建日历并向其发布事件?看起来发布 Aatom feed 会简单得多,但如果 google 无法订阅 Atom feed,那就行不通了。
如果我只是将活动发布为 ICAL 文件,Google 日历会定期重新读取 URL 并更新数据吗?有些用户每天有 4 或 5 个活动,因此随着时间的推移,文件会变得越来越大。看来这确实不是一个好的解决方案。
看看其他这样做的网站,谷歌似乎会定期重新读取 ical 格式的外部日历。
然后你就可以修剪你提供的信息,例如删除过去的日期。
所以要解决你的问题:
- 生成 ical 文件并从您的网站提供服务
- 让您的用户在 Google 日历中订阅它
- 定期刷新ical文件,修剪旧数据
来自 TripIt.com 的示例标头和 ics 文件的开头,这似乎效果很好:
curl -v http://..../tripit.ics
< HTTP/1.1 200 OK
< Server: nginx
< Date: Fri, 29 Jan 2010 21:53:58 GMT
< Content-Type: text/calendar; charset=utf-8
< Transfer-Encoding: chunked
< Connection: close
< Expires: Fri, 29 Jan 2010 22:08:58 GMT
< Cache-Control: private
<
BEGIN:VCALENDAR
X-WR-CALNAME:Malcolm Box (TripIt)
X-WR-CALDESC:TripIt Calendar
X-PUBLISHED-TTL:PT15M
PRODID:-//John Papaioannou/NONSGML Bennu 0.1//EN
VERSION:2.0
BEGIN:VEVENT
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)