GCM 401 未经授权 - 从哪里获取 "right" 服务器密钥?

GCM 401 Unauthorized - Where to get the "right" Server Key?

我已经尝试了很多解决方案来解决它。

这里有很多未解决的问题(在 Whosebug 上)寻找相同的解决方案。

当我打电话时:

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>

问题是:Whosebug 上的每个解决方案都说 "Use the server key, not the browser key"。在当前控制台上,当我创建服务器密钥时,它会显示一些选项,但我不确定它是否正确。

当然,我当时已经创建了一些。它创建了一个json文件供下载,上面有一些数据...但我真的不知道服务器密钥在哪里.

我应该使用什么密钥以及在哪里可以得到它


"create credential"选项,这里我选择第三个:

创建服务器密钥的两个选项:

TL;DR:
要为 GCM 或 FCM 创建 sender-idserver-key,您可以使用 Firebase 控制台。
新项目应直接在 Firebase 控制台中创建,而现有的 Cloud Console 项目可以使用 Import Google Project 从主页导入:http://console.firebase.google.com

拥有 firebase 项目后,您可以在
中找到 GCM / FCM 凭据 Project Setting > Cloud Messaging

更多信息:

  1. 将 Google 项目导入 Firebase 后,可以从 Cloud Console 和 Firebase Console 访问同一个项目。变化是您还可以访问 Firebase API.

  2. 虽然我们强烈建议将客户端 SDK 更新到 Firebase Cloud Messaging,但 Project Settings > Cloud Messaging 下列出的凭据也可以在 GCM 中使用。