【问题标题】:Google Cloud Messaging API - UnauthorizedGoogle Cloud Messaging API - 未经授权
【发布时间】:2013-11-19 02:45:36
【问题描述】:

我正在尝试在 Android 设备上运行一个简单的 PhoneGap 应用程序。所以,我已经按照所有步骤,创建了一个项目,应用程序成功地与 GCM 服务器通信并使用我的项目号获取注册 ID。

问题是我无法从服务器端与 GCM 通信。我最初是从 Perl 执行此操作的,但即使是 GCM 文档中的 curl 示例也返回“401”。

他们的 API 访问密钥已列入白名单,我已尝试将其删除并创建新的几次。甚至尝试使用浏览器密钥而不是服务器密钥。相同的结果:未经授权的访问。

以及根据当前文档从主(旧版本,而不是新的 Google Cloud)API 控制台创建的所有密钥。我找不到如何在 Google Cloud Console 中生成简单的 API 访问密钥。

正如我上面提到的,为这个项目启用了 GCM 服务,因为客户端可以连接并获取注册 ID。

还有什么帮助可以看的吗?

【问题讨论】:

  • 对不起,错别字。我的意思是 GCM(谷歌云消息传递)无处不在,而不是 GSM 和 CGM
  • 是的,无法想象旧的 API 密钥现在无法使用......我的问题实际上在这里得到了回答:stackoverflow.com/questions/19866623/… 谢谢
  • 如果您的问题在别处得到解答,或许您应该删除此问题。

标签: android perl cordova google-play-services google-cloud-messaging


【解决方案1】:

尝试使用“服务器密钥”而不是“Android 密钥”,我在使用后者时遇到了“未经授权的访问”。

您已经应用了“服务器密钥”,您可以在 Linux 或 Mac OS 的控制台上通过以下方式进行验证(请在每一行中填写数据):

api_key="xx...xxx"
reg_id="yy...yy"
curl --header "Authorization: key=$api_key" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send  -d "{\"registration_ids\":[\"$reg_id\"],\"data\":{\"code\":123}}"

【讨论】:

猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-30
  • 2012-04-04
  • 1970-01-01
  • 2011-08-02
  • 2012-01-03
相关资源
最近更新 更多