获取通知密钥错误 401 gcm https://android.googleapis.com/gcm/googlenotification
Posted
技术标签:
【中文标题】获取通知密钥错误 401 gcm https://android.googleapis.com/gcm/googlenotification【英文标题】:get notification key error 401 gcm https://android.googleapis.com/gcm/googlenotification 【发布时间】:2015-03-03 15:13:14 【问题描述】:我正在尝试从 google 服务获取通知密钥,我遵循 http://developer.android.com/google/gcm/notifications.html 的文档并在客户端上生成通知密钥,但我在发布请求时遇到问题,得到错误 401 OK
"operation": "create",
"notification_key_name": "vitee",
"registration_ids": ["********"]
"id_token": "**************************************************"
这是我的请求的快照
![在此处输入图片描述][1]
https://lh5.googleusercontent.com/QmTDFWwjkyPtLFVVcTN4IYwkVhHU42wcUKPjpg_E8KSR3ALAXJ2Js-0K2gzlmmOEUXfrGe1TS8s=w1890-h820
【问题讨论】:
还要确保您已在开发者控制台中激活 GCM API。 我遇到了同样的错误,你解决了吗?我也在尝试在客户端中获取通知密钥。 看起来 notification_key_name 需要是获取您的 id_token 的用户的电子邮件,请参阅this answer。 Google Cloud Messaging (GCM) with local device groups on Android gives HTTP Error code 401的可能重复 【参考方案1】:projectid
的标头被错误标记,并且使用项目编号而不是 API 密钥作为值。
所以,
-
把
project_id
改成Authorization
作为名字
作为值key=YOUR_PROJECT_API_KEY
,可以在凭据页面上找到:
以下是通过凭据页面查找 api 密钥的一些帮助:
-
https://console.developers.google.com/project?authuser=0
点击你想要的项目(如果你有多个)
点击API & auth(如果尚未展开)
点击凭据(在 API & auth 下方)
然后您会在此屏幕上找到您的 API 密钥
【讨论】:
我将 project_id 更改为授权,并输入 MY_PROJECT_API_KEY 作为值,但我收到错误 400 OK。根据您的声明,您正在尝试在服务器上生成通知密钥,但是,我正在尝试在客户端上生成通知密钥。看看这个 - developer.android.com/google/gcm/notifications.html【参考方案2】:如果您在客户端上创建用户通知,则不能使用“创建”操作。改用“添加”。如文档中所述,“添加”会在通知键不存在时创建它。
在生成 id_token
时,请确保在 scope
对象中指定客户端 ID(不是 API 密钥)。
【讨论】:
我们得到了 id_token 但是当我们把它传入 我们得到了 id_token 但是当我们将它传递成 JSON 格式来调用谷歌服务器 "operation": "add", "notification_key_name":"a", "registration_ids":[" *"] "id_token":"" 我没有收到通知密钥,收到 401 OK 错误以上是关于获取通知密钥错误 401 gcm https://android.googleapis.com/gcm/googlenotification的主要内容,如果未能解决你的问题,请参考以下文章
GCM 的 API 密钥突然失效?未经授权的 (401) 错误