在另一个应用中执行操作会在我自己的

时间:2016-11-27 05:04:24

标签: java android firebase calendar google-calendar-api

我已经研究过使用Google的Calendar API和提供程序,并发现可以阅读用户的日历。这可以用来使我的应用程序的内部日历与Google日历同步,如果用户在更改其Google日历后打开应用程序。

我想知道每当Google日历发生更改时我的应用都会被通知,以便我的应用可以复制这些更改并在我应用的自己的在线数据库中保持同步。

这是因为我的应用程序的功能要求用户比较日历,但如果Google日历中发生更改,则该内容无效,直到用户再次打开我的应用程序后才能看到。

所有的想法都得到了赞赏和提前感谢。

1 个答案:

答案 0 :(得分:0)

是的,只要您的日历发生更改,就可以收到通知。 Notifications可让您了解日历中事件的变化。

Google Calendar API提供推送通知,可让您监视资源更改。您可以使用此功能来提高应用程序的性能。它允许您消除轮询资源所涉及的额外网络和计算成本,以确定它们是否已更改。每当观看的资源发生变化时,Google Calendar API都会通知您的应用。

request push notifications,您需要为要监视的每个资源设置通知渠道。设置通知渠道后,Google Calendar API会在任何观察资源发生变化时通知您的应用。

POST https://www.googleapis.com/calendar/v3/calendars/my_calendar@gmail.com/events/watch
Authorization: Bearer auth_token_for_current_user
Content-Type: application/json

{
  "id": "01234567-89ab-cdef-0123456789ab", // Your channel ID.
  "type": "web_hook",
  "address": "https://exampledomain.com/notifications", // Your receiving URL.
  ...
  "token": "target=myApp-myCalendarChannelDest", // (Optional) Your channel token.
  "expiration": 1426325213000 // (Optional) Your requested channel expiration time.
  }
}