如何成功取消订阅 Google Calendar Webhook

问题描述 投票:0回答:1

我对 Google 日历集成的体验非常好,到目前为止,一切都按预期进行。当用户连接他们的日历时,我使用端点订阅 Webhook:

/v3/calendars/calendarId/events/watch

订阅工作完美,我的 webhook 正确接收通知。但是,当我尝试取消订阅 Webhook 时遇到问题。我按照文档中的建议并使用该方法:

/v3/channels/stop

虽然此方法返回成功,但我继续接收事件,就好像未发生取消订阅一样。我已经确认channelId和resourceId是正确的,检查了用户请求的权限,一切似乎都按顺序进行。此外,我检查了 stop 方法的日志和 API 响应,一切似乎都正常运行。

可能会发生什么?我想知道我是否错过了一些重要的事情或者是否有我忽略的细节。我已经测试了文档和论坛中提到的所有替代方案,但我无法解决该问题。

google-calendar-api google-workspace
1个回答
0
投票

这可能有帮助

要取消订阅 Google 日历 Webhook,请按照以下步骤操作:

  1. 找到您的 Webhook 订阅: 确定您要取消订阅的 Webhook 订阅。这通常涉及设置 Webhook 时使用的订阅 ID 或端点 URL。
  2. 删除订阅:使用 Google Calendar API 删除订阅。您需要使用您用于订阅的通道 ID 向
    DELETE
    端点发出
    channels
    请求。 这是使用
    curl
    的基本示例:
curl -X DELETE \
  'https://www.googleapis.com/calendar/v3/channels/stop' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "YOUR_CHANNEL_ID",
    "type": "web_hook",
    "address": "YOUR_WEBHOOK_ENDPOINT"
  }'

YOUR_ACCESS_TOKEN
YOUR_CHANNEL_ID
YOUR_WEBHOOK_ENDPOINT
替换为您的实际值。 3. 验证取消订阅:检查以确保 Webhook 订阅已被删除。您可以通过列出活动通道或通过 Webhook 端点确认(如果不再收到通知)来执行此操作。 如果您以编程方式管理 Webhook,请确保在发出 API 请求时正确处理身份验证和授权。

© www.soinside.com 2019 - 2024. All rights reserved.