【问题标题】:Stop Google push notification, response "channel not found for project"停止谷歌推送通知,回复“找不到项目的频道”
【发布时间】:2016-04-09 16:12:30
【问题描述】:

我正在使用 Google 日历推送通知。一切正常,我注册我的频道没有问题。对日历的更改会按预期生成通知。

我想停止推送通知。我正在调用 Google 停止推送通知 API。 "https://www.googleapis.com/calendar/v3/channels/stop" 但我收到错误代码:404 and message: "Channel not found for project"

请求:

googleCalendar.channels.stop({
       auth: oauth2Client,
        resource: {
            id: 'cfabcfaa-a6eb-4432-8068-6417ee2ce8a6', //channelID
            resourceId: '3kGwQdmzSMCZ41MAFdwEzt0ugNQ'   //resourceID
        } 
      }, function(err, results) {
         if(err){
         return;
         }
         console.log(results) })

回复:

{ [Error: Channel 'cfabcfaa-a6eb-4432-8068-6417ee2ce8a6' not found for project '87165627894']
  code: 404,
  errors:
   [ { domain: 'global',
       reason: 'notFound',
       message: 'Channel \'cfabcfaa-a6eb-4432-8068-6417ee2ce8a6\' not found for project \'87165627894\'' } ] }

谁能帮助我为什么会收到此错误? 谢谢。

【问题讨论】:

    标签: google-calendar-api


    【解决方案1】:

    我无法确认您是否在使用库,但您似乎在调用 calendarList watch 方法而不是 channel stop 方法(用于停止推送通知)。

    根据日历 API 文档中的 Push Notification 页面,必填字段确实是 channelID 和 resourceID(正如您指定的;还需要用户的身份验证令牌)

    https://www.googleapis.com/calendar/v3/channels/stop

    POST https://www.googleapis.com/calendar/v3/channels/stop
    Authorization: Bearer {auth_token_for_current_user}
    Content-Type: application/json
    
    {
      "id": "4ba78bf0-6a47-11e2-bcfd-0800200c9a66",
      "resourceId": "ret08u3rv24htgh289g"
    }
    

    【讨论】:

    • 感谢您的回答“@adjuremods”。我很抱歉我犯了一些错误。我已经更新了我的问题。我正在传递具有身份验证令牌的身份验证标签,我从 3 天开始一​​直在处理这个问题,但仍然收到相同的错误消息。实际上,我已经多次调用“观察列表事件”API,无法停止任何观察。你是对的,我正在使用节点“googleapis”库。如果它适用于您的情况,请帮助我。
    • 嗨,'@adjuremods',它正在工作。我正在从本地服务器进行测试,我应该从错误消息中了解。它说“找不到项目的频道”,这意味着频道无法获取我的项目 ID。 Google 为我的本地服务器和实时服务器创建了不同的 ID。我很高兴我的代码现在可以正常工作。也谢谢你的帮助...
    • @AnuragChoudhary,你能解释一下不同的 id 是什么意思吗?我遇到类似的问题。您的帮助将不胜感激
    • @PankajShrestha,当我从 localhost 测试(我不小心创建了很多频道)时。我正在使用最后一个频道 ID 调用 API,而该 ID 不适合生产。我在 google 上创建了两个项目,一个用于本地,一个用于生产。您必须从您用于创建该频道的项目中停止该频道。
    猜你喜欢
    • 2018-03-06
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    相关资源
    最近更新 更多