谷歌云消息认证错误 (401)
我正在使用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加到我的白名单里来解决。