Batch API 上的授权密钥和 GCM 发件人 ID

Posted

技术标签:

【中文标题】Batch API 上的授权密钥和 GCM 发件人 ID【英文标题】:Authorization Key and GCM Sender ID on Batch API 【发布时间】:2016-05-08 17:48:35 【问题描述】:

我正在尝试设置 Batch android api 以发送推送通知。根据他们提到的说明,它具有授权密钥和 gcm 发件人密钥。但我只启用了谷歌云消息 api 和一个 api 密钥。

【问题讨论】:

【参考方案1】:

您可以关注此Google documentation,了解如何在 Android 上设置您的 GCM 应用。您需要有一个connection server 从应用程序服务器获取消息并将它们发送到设备。为了发送消息,应用服务器发出一个 POST 请求。

https://gcm-http.googleapis.com/gcm/send

消息请求由两部分组成:HTTP 标头和 HTTP 正文。 HTTP 标头必须包含以下标头:

Authorization: key=YOUR_API_KEY Content-Type: application/json 用于 JSON; application/x-www-form-urlencoded;charset=UTF-8 用于纯文本。如果省略Content-Type,则假定格式为纯文本。

例子:

Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA


  "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
  "data" : 
    ...
  ,

基于此SO question:

根据更新的Google docs,似乎Google API Console上的Project Number被用作SENDER ID

以下是获取Sender ID的步骤:

    打开 Google api 控制台 创建项目 点击左侧菜单图标 点击谷歌云平台 你会从那里得到SenderId

请注意,Sender ID 是项目编号。

您可以在how to find Sender ID and API Key for GCM 上查看本教程。

希望这会有所帮助! :)

【讨论】:

关于“如何查找 GCM 的发件人 ID 和 API 密钥”的教程可能已过时。如果您需要使用最新的 Google 的 FCM(Firebase 云消息传递)来获取它们,请查看我的回答:***.com/questions/38863078/…

以上是关于Batch API 上的授权密钥和 GCM 发件人 ID的主要内容,如果未能解决你的问题,请参考以下文章

GCM 的 API 密钥突然失效?未经授权的 (401) 错误

GCM 发件人 ID 不匹配

Phonegap Plugin Push & Node-gcm NotRegistered

Android Studio GCM 注册 id 显示为空

我无法从Android GCM获取注册ID

PayPal API 错误 - 此付款请求必须由发件人授权