2016-09-22 51 views
1

我一直想整天想弄清楚如何從我的應用程序「重新水化」循環事件的實例。讓循環事件的實例保持同步

讓我解釋一下流真正快速:

  1. 用戶授權訪問我的應用程序來編輯自己的日曆
  2. 的應用程序建立一個經常性事件
  3. 該應用程序訂閱了/watch終點爲日曆

到目前爲止很好,現在當創建者將該事件移動到另一個時間時,我收到了有關webhook url的通知,這很好(很好,有點),它OKS這樣的:

'x-goog-channel-id': 'my_specified_channel_id', 
    'x-goog-channel-expiration': 'Thu, 29 Sep 2016 12:58:10 GMT', 
    'x-goog-resource-state': 'exists', 
    'x-goog-message-number': '333384', 
    'x-goog-resource-id': 'some-resource-id', // This id apparently has nothing to do with any resources I know of 
    'x-goog-resource-uri': 'https://www.googleapis.com/.../resource-uri' 

所以我的身影,我可以打電話給https://www.googleapis.com/calendar/v3/calendars/primary/events/some-resource-id並獲得更新的資源,但resource-id似乎並不具有任何與日曆中的任何事件,也不是它的ID的日曆本身(我使用'primary'關鍵字)

所以我想,我可以作爲解決方案使用https://www.googleapis.com/calendar/v3/calendars/primary/events/recurring-event-id/instances端點獲取週期性事件的所有實例,但現在移動的事件不再是零件的有效載荷了。我猜測谷歌從父事件中移除事件,因爲它不會在一天中的同一時間發生(我無法在任何地方確認此事)?

那麼,我要問的是:

  1. 難道我解釋x-goog-resource-id錯了嗎?
  2. 有人可以確認,一旦事件從谷歌日曆應用程序編輯它失去其與經常性父事件的關係?
+0

根據此[文檔](https://developers.google.com/google-apps/calendar/v3/push#understanding-the-notification-消息格式),X-Goog-Resource-ID是一個不透明的v alue標識所監視的資源。這個ID在各個API版本中是穩定的。 查看此[link](https://developers.google.com/google-apps/calendar/recurringevents)以瞭解有關Reccuring Events的更多信息。 – KENdi

回答

0

要回答我的問題:

  1. x-goog-resource-id是日曆的標識,因爲這是你把觀察者對
  2. 一旦這是一個經常性的部分事件的實體設置已編輯,不再是該設置的一部分