Android GCM在PHP中出现401未授权错误

5
最近我的GCM推送消息通知无法正常工作了。我什么都没有改变,在Google API控制台中,我已经将我的独立服务器的IPv6注册为白名单IP地址。
但是当我尝试访问GCM服务时,我始终会收到错误信息:
未授权 错误401
也尝试使用IPv4但没有成功...
我在自己的电脑上尝试了相同的脚本,一切运行顺畅...
有任何想法都非常感激 :)
谢谢你的帮助

我遇到了相同的问题...有解决方案吗?请帮帮我。 - Brinda K
删除所有的IP地址,这是我目前得到的唯一解决方案。 - Bibu
我的Google API控制台中有这样的内容:引用者(Referers):允许任何引用者。但仍然遇到相同的错误。 - Brinda K
这不是和我遇到的问题一样,所以...我觉得这是因为你使用了浏览器应用程序密钥而不是服务器应用程序密钥。 - Bibu
无论如何,我使用新的API密钥创建了一个新项目,它起作用了...不知道发生了什么...谢谢。 - Brinda K
有关此事的任何消息吗?由于正在运行的应用程序,新项目不是选项。它停止工作了吗? - develth
4个回答

3

您需要将服务器IP地址添加到Google API控制台的白名单IP地址中以使用GCM。

编辑:您必须使用服务器应用程序密钥(带有IP锁定)而不是浏览器密钥。


你所谓的"server ID"是什么?如果你是说IP地址,我的IPv6和IPv4已经被引用在Google API控制台的白名单IP地址中了。 - Bibu
一定要使用服务器应用程序密钥,参见编辑后的答案。确切无误! - skygeek
这就是我所做的,我通过删除所有IP来获得“允许任何IP”的成功...虽然不是最好的方法... - Bibu
抱歉,但删除IP对我来说只是一个临时解决方案,在Google API控制台中为服务器应用设置IP仍然无法解决问题... - Bibu
你使用了服务器应用程序密钥吗? - skygeek
当然可以!设置我的IPv6 IP -> 服务停止工作,删除IP -> 服务正常运行。 - Bibu

2

我遇到了一整天同样的问题!可我太傻了... 在您的Dev控制台中>APIs和auth > 确保您的“Google云消息传递(GCM)服务”已启用! 那是我的错。 而且还可以通过允许所有IP地址进行首次测试。


0

我也有同样的问题。解决方法是,注册我的公共IP地址,等待几分钟,然后刷新Google API控制台页面。


0

我曾经遇到同样的问题,最后在我的白名单IP地址中添加了"0::0/0"。这个方法解决了我的问题。不过,更好的解决方案是获取一个真正的IPv6地址来用于服务器。


你在哪里可以做到这个?我在Google控制台中找不到。 - MaicolBen
@MaicolBen,我已经有一段时间没有做这个了。但是我认为这是在你点击“创建新服务器密钥”之后。 - zingle-dingle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接