iCalendar (.ics) 是推送日历数据的唯一方法吗?
如果您正在构建一个跟踪事件数据的应用程序,您将如何将该事件数据推送到人们的个人日历和智能手机上?
我的想法是创建一个 .ics 文件并通过 Google Calendar、Outlook、Exchange 等订阅它。但他们似乎订阅了该文件的“快照”,并且不始终检查该文件是否有更新。如果我希望更新近乎实时,是否有比 .ics iCalendar 格式更好的方法来推送日历数据?
我们在我的公司使用 Exchange,因此当我在任何日历上创建事件时(通过 Outlook、Entourage 或我的 iPhone,所有这些都连接到我的 Exchange 用户帐户),该事件会在 1 分钟内显示在所有 3 个应用程序上。
有没有办法以类似的方式将事件数据从我的数据库推送到 Exchange 服务器?
If you were building an application that tracked event data, how would you push that event data out so it could be on people's personal calendars and smartphones?
My thought was to create an .ics file and subscribe to it via Google Calendar, Outlook, Exchange, etc. But they appear to subscribe to a "snapshot" of the file, and don't consistently check the file for updates. If I want the updates to happen in near real-time, is there a better way to push out that calendar data than the .ics iCalendar format?
We use Exchange here at my company, and so when I create an event on any of my calendars (via Outlook, Entourage, or my iPhone, all connected to my Exchange user account), the event appears on all 3 applications in under 1 minute.
Is there a way to push event data to the Exchange server from my database in a similar way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于您已经在使用 Exchange,也许您可以发起 Exchange Activesync 预约请求;它本质上是基于 HTTPS 的 XML。这将您限制为使用 EAS 的客户端,但我不确定这是否超出了要求 - 现在大多数“智能手机”操作系统似乎都支持 EAS。
如果我正在开发这个,我会担心任何低于 EAS 的东西都会过于依赖最终用户的配置;非推送协议并非设计为实时的。个人日历是使用 EAS 的一个问题(不确定 iCal 等是否可以支持它),但根据应用程序,我不确定有多少人只使用 PC 锁定的日历。
http:// msdn.microsoft.com/en-us/library/dd299440%28EXCHG.80%29.aspx
Since you are using Exchange already, perhaps you could whip up an Exchange Activesync appointment request; it is essentially XML over HTTPS. This limits you to clients that speak EAS but I'm not sure that is outside the requirements - most every 'smartphone' OS seems to support EAS now.
If I were developing this, I would be concerned that anything less than EAS would be too reliant on the end-user's configuration; non-push protocols aren't designed to be real-time. Personal calendars are an issue with using EAS (not sure whether iCal etc. can support it) but depending on the application I'm not sure how many people are using only PC-locked calendars anymore, anyway.
http://msdn.microsoft.com/en-us/library/dd299440%28EXCHG.80%29.aspx
使用 iCalendar 源,您实际上可以继续从该端点推送更新。需要注意的是,您需要确保用户订阅该提要,而不仅仅是下载并导入它。
将
http://
转换为webcal://
可能足以达到目的,但并非每个客户端都支持它。但是,您提到的每个客户都进行订阅。然而,有些需要一些时间来更新。例如,Google 日历每 24 小时才执行一次。Using an iCalendar feed you can actually continue to push updates from that end-point. The caveat is that you need to make sure that users subscribe to the feed, and not just download it and import it.
Turning your
http://
intowebcal://
might be enough to do the trick, but not every client supports it. However, every client you mention does do subscriptions. Some however take some some time to update. Google Calendar for instance only does it once every 24 hours.