gpt4 book ai didi

google-calendar-api - 从 Google Watch 推送通知响应中查找更新的事件

转载 作者:行者123 更新时间:2023-12-05 05:34:07 26 4
gpt4 key购买 nike

我已经在我的日历上创建了一个观看 channel ,并且我成功地接收了来自 Google PUSH 通知的所有更新。但我无法使用该响应来获取创建/更新的事件。我读了一些文档和 SO我需要使用来自响应和命中事件列表 API 的 X-Goog-Resource-ID 的问题。

但是这个 X-Goog-Resource-ID 的值既不是日历 ID 也不是事件 ID 那么我如何在事件列表 API 中使用它呢?

我正在使用 Python 和服务帐户进行集成。

文档:

来自 PUSH 的响应:

   "X-Goog-Channel-Expiration": "",
"X-Goog-Channel-ID": "",
"X-Goog-Channel-Token": "",
"X-Goog-Message-Number": "",
"X-Goog-Resource-ID": <resource id>,
"X-Goog-Resource-State": "exists",
"X-Goog-Resource-URI": <calender UI>

我尝试使用的 Google 函数:

service = build('calendar', 'v3', credentials=credentials)

service.calendars().get(calendarId=X-Goog-Resource-ID).execute()

service.events().list(calendarId=calenderId', eventId=X-Goog-Resource-ID).execute()

他们是否使用消化日历推送通知的任何引用 Python 示例,或者我需要使用什么 oaarms 调用哪个 API/函数来获取创建/更新的事件?

最佳答案

X-Goog-Resource-ID header 包含一个值,用于标识跨 API 的特定资源。整个推送通知基本上是在通知您该日历上发生了一些变化。

现在,如果您想知道到底发生了什么变化,我强烈建议您执行 synchronisation .一种方法是执行完全同步并存储 nextSyncToken。然后,当您收到通知您日历发生变化的推送通知时,您只需使用 syncToken 即可了解自上次同步以来发生的变化。您可以在链接的文档中看到一个完整的工作示例。

更新

如果您通过推送通知观看多个日历,您将需要一个适当的系统来跟踪哪个日历正在被修改。 X-Goog-Resource-ID header 与日历 ID 映射,它可以与 syncToken 一起使用以运行 events.list()。请求接收更新的事件。

关于google-calendar-api - 从 Google Watch 推送通知响应中查找更新的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73672431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com