为什么谷歌的GCM (Google Cloud Messaging)服务突然返回401请求发送Android推送通知有什么原因?调用看起来像这样GCM(Google Cloud Messaging)突然返回401
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>
UPDATE:
谷歌的名字四种可能causes for this error:
- Authorization头丢失或在HTTP请求无效的语法。
- 无效的项目号码作为密钥发送
- 密钥有效,但禁用了GCM服务。
- 源自服务器密钥IP中未列入白名单的服务器的请求。
我检查了问题here中的API密钥的有效性,它似乎无效。问题是为什么?它曾经工作到目前为止。哎呀。 : -/
API密钥已更改/删除?也可以添加一些显示请求的代码。 – COBB
我们不小心删除了该帐户并稍后恢复了该帐户,这是否会使标记无效? :-/ 不确定。 – 0x4a6f4672
也许尝试为GCM服务启用的项目创建新的服务器API密钥。 – COBB