Google Firebase Downstream消息的http post请求的"Authorization"部分是什么?

roo*_*mir 22 android push-notification firebase google-cloud-messaging firebase-cloud-messaging

我想尝试使用谷歌的FCM消息服务发送消息,正如文档所说,http请求应该是这样的:

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

{ "data": {
    "score": "5x1",
    "time": "15:10"
  },
  "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道Authorization应该是什么价值,当我删除这个标题并发出请求时,我得到错误401:Unauthorized.我认为这必须是某种api密钥或者其他东西,但我在我的项目中找不到它.谁能帮我?

PS:出于测试目的,我目前正在使用此站点向我的设备发送消息

BNK*_*BNK 27

根据关于Firebase Cloud Messaging Server文档:

认证

要发送消息,应用服务器会发出POST请求.例如:

https://fcm.googleapis.com/fcm/send

消息请求由两部分组成:HTTP标头和HTTP主体.

HTTP标头必须包含以下标头:

  • 授权:key = YOUR_SERVER_KEY

    确保这是服务器密钥,其值在项目设置 > 云消息传递下的Firebase项目控制台中可用.FCM拒绝客户端密钥或任何其他密钥.

  • 内容类型:application/json用于JSON; application/x-www-form-urlencoded;charset=UTF-8对于纯文本.

    如果省略Content-Type,则假定格式为纯文本.

希望能帮助到你!


更新(2016/11/16)

也许您应该考虑使用FCM令牌而不是服务器密钥作为以下屏幕截图中的注释

在此输入图像描述


更新(2016/12/08)

Firebase已将服务器密钥升级到新版本,并建议您升级到最新版本.请看下面的截图:

在此输入图像描述

  • 非常感谢.在我看来,文档组织不当,但再次感谢您的回答 (7认同)
  • @FredLoh在我的回答中的Google链接中,在"检查服务器密钥的有效性"中,你会发现卷曲的例子 (2认同)