无法认证到GCM CCS服务器

4

我正在尝试实现一个启用GCM的Android应用程序,但我在尝试从我的第三方服务器验证CCS服务器时遇到了问题。

import sleekxmpp as xmpp

SERVER = 'gcm.googleapis.com'
PORT = 5235
USERNAME = 'my-project-number'
PASSWORD = 'my-api-key'


def main():
    client = xmpp.ClientXMPP(USERNAME + '@' + SERVER, PASSWORD)
    if client.connect(address=(SERVER, PORT), use_ssl=True):
        print('Connection established.')
        print('Authenticated =', client.authenticated)
    else:
        print('Connection failed.')


if __name__ == "__main__":
    main()

输出:

Connection established.
Authenticated = False

Process finished with exit code 0

不确定为什么client.authenticated一直是false,当我知道我拥有的凭据与Google开发者控制台项目页面上的凭据相同时。

1个回答

1

由于您没有提供日志中的具体错误消息,因此我将在此处发布一个快速故障排除。当我遇到问题时,我自己使用了它。

  1. 服务器IP

服务器IP:您已经在控制台中正确设置了第三方服务器的IP地址。这是您配置API密钥的位置,所以我想这应该没问题。

  1. 白名单

当您想要通过xmpp尝试您的项目时,您必须将其列入白名单,这在阅读来自Google的开发者文档时并不清楚。有关更多解释,请参见此问题:Google CCS (GCM) - project not whitelisted。进入白名单列表的链接:https://services.google.com/fb/forms/gcm/

  1. HTTP
如果上述方法也没有取得结果,您可能需要检查一下是否可以使用HTTP Json消息来检查所有内容是否正常工作,此时您的项目不必列入白名单。由于这种方法已经存在一段时间了,因此有一些可行的库,例如:https://bitbucket.org/sardarnl/gcm-client

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