首页 文章

GCM HTTP错误401:未经授权

提问于
浏览
3

我在客户端上集成了GCM,也使其成为服务器端组件 . 每件事情都很好,我能够从服务器向所有注册客户端发送推送通知 . 我使用谷歌App引擎作为我的服务器 .

出现问题:

  • 我更改了服务器上的API密钥 .

  • 之前我使用我的个人GMail帐户获取API密钥,所有其他访问都是通过我的帐户进行的 . 在推送应用程序之前,我将服务器移动到 生产环境 帐户,并根据 生产环境 ID更改了ID . 我是指API密钥,项目ID, 生产环境 密钥库等 . 现在问题是我想在服务器上发送推送通知我得到URL异常"HTTP Error 401: Unauthorized"

我尝试过: - 删除我的旧ID . - 删除旧的公共API访问密钥 .

如果我尝试从旧服务器发送推送通知,相同的代码工作正常 .

它是否与某些事情有关:项目包名称和API密钥...只能使用一次注册....如果是,如何删除它而不更改客户端项目包名称 .

请帮助我们不能使用Old Server .

4 回答

  • 0

    由于这是一个从未得到解答但仍能获得视图的旧问题,我将在此处发布此问题可能已经过时,因为 Cloud 控制台从那时起经历了几次迭代 .

    此外,Google Cloud Messaging已被Firebase Cloud 消息传递所取代 . 新项目应使用FCM,鼓励现有项目进行升级,以便从新功能中受益 .

    Firebase Cloud Messaging
    https://firebase.google.com/docs/cloud-messaging/

  • 0

    检查新服务器中的端口5228-5230(GCM端口)是否已打开 . 这可能是问题所在 .

  • 1

    问题可能是因为您正在为新服务器使用旧的服务器api密钥 . 要从服务器端发送推送通知,您需要在服务器的公共IP地址的帮助下生成api密钥 .

  • 0

    如果是测试目的,请确保Google控制台上的服务器API密钥在白名单中具有相关的IP地址:0.0.0.0/0 :: / 0

    这些是针对ipv4和ipv6 ips的

相关问题