谷歌云消息认证错误 (401)

2 投票
2 回答
1554 浏览
提问于 2025-04-20 23:28

我正在使用python-gcm来搭建一个推送通知的后台服务器。

我可以从我的本地电脑成功地向我的安卓应用发送推送通知,一切都运行得很好。

但是,当我在服务器上运行时,总是会出现以下错误:

GCMAuthenticationException: There was an error authenticating the sender account

我的服务器已经被列入白名单(我添加了IPv4、IPv6,以及0.0.0.0/0来确保这一点)。而且API密钥也绝对正确,我是从我的配置文件中复制过来的。

还有什么其他原因可能导致它无法工作呢?

2 个回答

0

我遇到了完全一样的问题,就像我在原问题下的评论里说的那样。即使只是按照GCM文档的建议,从命令行运行curl,结果在我的本地机器和服务器上也不一样,尽管我在白名单里加了0.0.0.0/0。

后来我发现,我的服务器默认是通过IPv6来运行curl的,这对我来说是看不见的。所以我可以通过强制curl使用IPv4(加上-4这个选项)来解决问题,或者把我服务器的IPv6地址加到GCM的白名单里。我猜加上通配符的IPv6地址也能解决问题,但我没有尝试过。

总之,回头看,IPv4的通配符显然不适用于IPv6的流量。

1

我遇到过类似的问题,最后我只能通过把0.0.0.0/0加到我的白名单里来解决。

撰写回答