无法对GCM CCS服务器进行身份验证

时间:2014-09-15 01:09:15

标签: android python xmpp google-cloud-messaging

我正在尝试实施支持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

当我在Google Developer Console的项目页面上知道我拥有的凭据时,我不确定为什么client.authenticated始终为false。

1 个答案:

答案 0 :(得分:1)

由于您还没有真正从日志中提供特定的错误消息,因此我将在此处发布快速故障排除。当我遇到问题时,我自己使用它。

  1. Server Ip
  2. 服务器IP:您已在控制台中正确设置第三方服务器的IP。这是你配置API密钥的地方,所以我打赌这没关系。

    1. 白名单
    2. 当你想通过xmpp试用你的项目时,你必须将它列入白名单,从谷歌阅读开发人员文档时这并不是那么清楚。有关更多说明,请参阅此问题:Google CCS (GCM) - project not whitelisted。要列入白名单的链接:https://services.google.com/fb/forms/gcm/

      1. HTTP
      2. 如果上述内容也未授予结果,您可能需要查看是否所有内容都使用HTTP json消息正常工作,您的项目不必列入白名单。由于这种方法已经存在了一段时间,因此有一些像这样的工作库:https://bitbucket.org/sardarnl/gcm-client