【发布时间】:2016-09-22 13:21:40
【问题描述】:
我整天都在试图弄清楚如何从我的应用程序中“补充”重复事件的实例。
让我快速解释一下流程:
- 用户授予我的应用访问权限以编辑他们的日历
- 应用设置了重复事件
- 应用订阅该日历的
/watch端点
到目前为止一切顺利,现在当创建者将该事件移动到另一个时间时,我会在 webhook url 上收到一条通知,这很好(嗯,排序),它看起来像这样:
'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 端点获取重复事件的所有实例,但现在被移动的事件不再是该有效负载的一部分。我猜 google 会从父事件中删除该事件,因为它不再在一天中的同一时间发生(我无法在任何地方确认)?
所以我要问的是:
- 我解释
x-goog-resource-id错了吗? - 有人可以确认,一旦从 google 日历应用程序编辑了一个事件,它就会失去与重复父事件的关系?
【问题讨论】:
-
根据documentation,X-Goog-Resource-ID 是一个不透明的值,用于标识被监视的资源。此 ID 在 API 版本中是稳定的。查看此link 以了解有关重复事件的更多信息。