停止谷歌推送通知,回复“找不到项目的频道”
Posted
技术标签:
【中文标题】停止谷歌推送通知,回复“找不到项目的频道”【英文标题】: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\'' ]
谁能帮助我为什么会收到此错误? 谢谢。
【问题讨论】:
【参考方案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 上创建了两个项目,一个用于本地,一个用于生产。您必须从您用于创建该频道的项目中停止该频道。以上是关于停止谷歌推送通知,回复“找不到项目的频道”的主要内容,如果未能解决你的问题,请参考以下文章