我已经尝试了很多解决方案来解决这个问题。
这里有很多 Unresolved 问题(在 stackoverflow 上)寻找相同的解决方案。
当我打电话时:
curl --header "Authorization: key=MY_KEY" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"THE_ID\"]}"
我有:
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
问题是:stackoverflow 上的每个解决方案都说“使用服务器 key ,而不是浏览器 key ”。在当前的控制台上,当我创建服务器 key 时,它会显示一些选项,我不确定它是否正确。
当然,我已经创建了一些。它创建一个要下载的 json 文件,其中包含一些数据...但我真的不知道服务器 key 在哪里。
我应该使用什么 key 以及从哪里获取它?
“创建凭据”选项,我选择第三个:
创建服务器 key 的两个选项:
最佳答案
TL;博士:
要为 GCM 或 FCM 创建sender-id
和 server-key
,您可以使用 Firebase 控制台。
新项目应直接在 Firebase 控制台中创建,而现有的 Cloud Console 项目可以使用主页中的导入 Google 项目导入:http://console.firebase.google.com
一旦您有了 Firebase 项目,您就可以在
中找到 GCM/FCM 凭据
项目设置>云消息传递
更多信息:
将 Google 项目导入 Firebase 后,可以通过 Cloud Console 和 Firebase 控制台访问同一项目。变化在于您还可以访问 Firebase API。
虽然我们强烈建议将客户端 SDK 更新为 Firebase Cloud Messaging ,
项目设置 > 云消息传递
下列出的凭据也可以在 GCM 中使用。
关于google-cloud-messaging - GCM 401 未经授权 - 从哪里获取 "right"服务器 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39678088/