我想知道,是否可以设置Mac OS X应用,以便在用户更改Google日历时收到通知。就像你可以用 EKEventStore 做什么?
有一个查询方法+ (id)queryForCalendarListWatchWithObject:(GTLCalendarChannel *)
对象,但我不确定如何设置GTLCalendarChannel
对象。
或者除了轮询之外,还是使用推送通知的唯一方法吗?
提前致谢。
答案 0 :(得分:2)
您可以使用 Google Calendar API ,它提供推送通知,让您可以查看资源更改。这使得定期轮询变得不必要。
您可以使用此功能来改善应用程序的性能。 它允许您消除轮询资源所涉及的额外网络和计算成本,以确定它们是否已更改。每当观察到的资源发生变化时,Google Calendar API会通知您的应用。
要使用此API,您需要:
Register the domain of your receiving URL. 在设置推送通知渠道之前,您必须为您计划用于接收推送通知消息的任何网址注册域名。
Set up your receiving URL, or "Webhook" callback receiver. 每当观察到的资源发生变化时,您的应用程序都会收到描述更改的通知消息。 Google Calendar API会将这些邮件作为HTTPS POST请求发送到您specified as the "address"此通知渠道的网址。
Set up a notification channel for each resource endpoint you want to watch. 要请求推送通知,您需要为要监视的每个资源设置通知渠道。设置通知渠道后,Google Calendar API会在任何观察资源发生变化时通知您的应用。
当日历更改时,它会通知您的应用,并且应用会执行API调用以获取更新。您可以使用其中一个Google API client libraries来使用推送通知。
查看这些documentation和blog Google Calendar API推送通知。
希望这有帮助!