Google Calendar Watch 和 Events 协同工作
Google Calendar Watch and Events working together
我正在创建一个可以反映用户日历的 Node/Express Web 应用程序。它将收到用户日历中的每个更改的通知,并将使用该用户的最新日历更新数据库。
假设我们要监控john.doe@gmail.com。请告诉我这是否是最好的(也是唯一的)方法:
为 Push notification 设置 - 在此过程中,我们提供(除其他字段外):
- token - 将被回显的 plain-text。 这是我可以放类似'calOwner=john.doe@gmail.com'
的地方
- id - 一个 UUID 频道 id
每次更改时,我的 webhook 都会收到推送通知,其中包含:
- 令牌 : calOwner=john.doe@gmail.com
- id : channelId - 我不明白是否可以单独使用此字段将此通知消息追溯到 john.doe@gmail.com
现在我知道 john.doe@gmail.com 已经改变了,我会做一个 list with a synchToken。这将 return 显示自上次同步以来约翰日历中的变化
让我感到困惑的是看似重要的字段 channelId 和 resourceId (显示为 x-goog-resource-id 在推送通知 header) 中是无用的,唯一绑定 push message to list 的字段是一个 可选的 plain-text字段 令牌 .
请告诉我这是否是跟踪用户日历的唯一方法。
更新
感谢@KENdi 的回答。
我的挣扎在于仅仅查看推送通知消息,无法将其追溯到 john.doe@gmail.com 。我现在明白为什么会这样,推送通知不包含 calendarId,而是包含 resourceId(简单来说就是事件 object)。之所以如此,是因为一个事件可以与多个日历相关联,因此可以与多个 calendarId 相关联。因此,订阅者有责任维护频道与其最初用于创建频道的 calendarId 的关联。
是的,你是对的,你需要日历 push notification,来通知你 Google 日历中发生的所有变化。
X-Goog-Resource-ID
的目的是一个不透明的值,用于标识监视的资源。这个 ID 在 API 个版本中是稳定的。
检查这个 SO question 以了解更多关于 X-Goog-Resource-Id
的目的。
我正在创建一个可以反映用户日历的 Node/Express Web 应用程序。它将收到用户日历中的每个更改的通知,并将使用该用户的最新日历更新数据库。
假设我们要监控john.doe@gmail.com。请告诉我这是否是最好的(也是唯一的)方法:
为 Push notification 设置 - 在此过程中,我们提供(除其他字段外):
- token - 将被回显的 plain-text。 这是我可以放类似'calOwner=john.doe@gmail.com' 的地方
- id - 一个 UUID 频道 id
每次更改时,我的 webhook 都会收到推送通知,其中包含:
- 令牌 : calOwner=john.doe@gmail.com
- id : channelId - 我不明白是否可以单独使用此字段将此通知消息追溯到 john.doe@gmail.com
现在我知道 john.doe@gmail.com 已经改变了,我会做一个 list with a synchToken。这将 return 显示自上次同步以来约翰日历中的变化
让我感到困惑的是看似重要的字段 channelId 和 resourceId (显示为 x-goog-resource-id 在推送通知 header) 中是无用的,唯一绑定 push message to list 的字段是一个 可选的 plain-text字段 令牌 .
请告诉我这是否是跟踪用户日历的唯一方法。
更新
感谢@KENdi 的回答。
我的挣扎在于仅仅查看推送通知消息,无法将其追溯到 john.doe@gmail.com 。我现在明白为什么会这样,推送通知不包含 calendarId,而是包含 resourceId(简单来说就是事件 object)。之所以如此,是因为一个事件可以与多个日历相关联,因此可以与多个 calendarId 相关联。因此,订阅者有责任维护频道与其最初用于创建频道的 calendarId 的关联。
是的,你是对的,你需要日历 push notification,来通知你 Google 日历中发生的所有变化。
X-Goog-Resource-ID
的目的是一个不透明的值,用于标识监视的资源。这个 ID 在 API 个版本中是稳定的。
检查这个 SO question 以了解更多关于 X-Goog-Resource-Id
的目的。