<分区>
GCM (Google Cloud Messaging) 有什么原因吗?来自 Google 的服务突然返回 401 以请求发送 Android 推送通知?调用看起来像这样
curl --header "Authorization: key=<my_android_key>" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send -d "{\"to\":\"/topics/my_topic\", \"data\":{\"category\":\"help\", \"title\":\"Test\", \"text\":\"Test\", \"param\":\"\"}}"
结果是
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
更新:
Google 列出了四种可能的 causes for this error :
- HTTP 请求中缺少授权 header 或语法无效。
- 作为 key 发送的项目编号无效
- key 有效但 GCM 服务已禁用。
- 请求来自未列入服务器 key IP 白名单的服务器。
我检查了有问题的 API key 的有效性 here , 似乎无效。问题是为什么?到目前为止它曾经工作过。啊。 :-/