Events 谷歌日历手表和活动一起工作

Events 谷歌日历手表和活动一起工作,events,push-notification,google-calendar-api,Events,Push Notification,Google Calendar Api,我正在创建一个可以镜像用户日历的Node/Express Webapp。它将收到用户日历中每次更改的通知,并使用该用户日历的最新版本更新数据库 假设我们想监视约翰。doe@gmail.com. 请告诉我这是否是最好(也是唯一)的方法: 设置-在此过程中,我们提供(除其他领域外): 标记-将被回显的纯文本。这是我可以放置类似“calOwner=john”的内容的地方。doe@gmail.com" id-UUID通道id 每次更改后,我的webhook都会收到一个推送通知,其中包含: 令牌:c

我正在创建一个可以镜像用户日历的Node/Express Webapp。它将收到用户日历中每次更改的通知,并使用该用户日历的最新版本更新数据库

假设我们想监视约翰。doe@gmail.com. 请告诉我这是否是最好(也是唯一)的方法:

  • 设置-在此过程中,我们提供(除其他领域外):

    • 标记-将被回显的纯文本。这是我可以放置类似“calOwner=john”的内容的地方。doe@gmail.com"
    • id-UUID通道id
  • 每次更改后,我的webhook都会收到一个推送通知,其中包含:

    • 令牌:calOwner=john。doe@gmail.com
    • id:channelId-我不明白是否仅此字段就可以将此通知消息追溯到john。doe@gmail.com
  • 现在我认识约翰了。doe@gmail.com已经改变了,我会做一个与一个。这将返回自上次同步以来john日历中的更改

  • 这里让我困惑的是,看似重要的字段channelIdresourceId(在推送通知头中显示为x-goog-resource-id)是无用的,并且将消息绑定到的唯一字段是可选的纯文本字段标记

    请告诉我这是否是跟踪用户日历的唯一方法

    更新

    谢谢@KENdi的回答


    我的困难在于,仅仅看一条推送通知消息,无法将其追溯到john。doe@gmail.com . 现在我明白了为什么推送通知不包含calendarId,而是包含resourceId(简单地说就是事件对象)。之所以如此,是因为一个事件可以与多个日历关联,从而与多个日历ID关联。因此,订阅者有责任维护频道与calendarId的关联,calendarId最初用于创建频道

    是的,你是对的,你需要日历来通知你谷歌日历中发生的所有变化

    的目的是一个不透明的值,用于标识监视的资源。这个ID在API版本中是稳定的

    查看此项以了解有关
    X-Goog-Resource-Id
    的更多用途