【问题标题】:Why Android key (api key) is invalid or that key is deprecated by GCM server?为什么 Android 密钥(api 密钥)无效或 GCM 服务器不推荐使用该密钥?
【发布时间】:2016-06-12 16:50:15
【问题描述】:

两年前(2014 年 6 月),我为我的 Android 应用程序创建了一个用于 GCM 推送通知的 Android API 密钥。从最近两天开始,GCM 服务器在 PHP 中返回 Unauthorized (401) 响应。

我搜索了为什么 GCM 服务器返回 401 给 PHP,它提到 API 密钥无效。为什么 Android API 密钥无效?如果我为另一个应用程序创建服务器密钥,它可以正常工作。

Android API 密钥是否有任何有效期(生命周期)?哪个键最适合 GCM 推送通知?是服务器、Android、iOS 还是浏览器 API 密钥?这些密钥是否有有效期?

请提供有关这四个 API 密钥及其生命周期的正确详细信息和解释。还是 Android 密钥已弃用?

【问题讨论】:

  • 看我的回答here

标签: android google-cloud-messaging


【解决方案1】:

我也有同样的问题。您需要创建一个“服务器密钥”替换“Android 密钥”。

访问Google APIs Console => 创建凭据 => API 密钥 => 服务器密钥

【讨论】:

    【解决方案2】:

    API 密钥是否有效/过期?

    来自SO question 中的答案。这里明确说明,API 密钥没有过期时间。

    关于这四个(server,androi,ios,browser)的详细解释 键。

    • 服务器密钥 - 如果您的应用程序在服务器上运行,则创建并使用服务器密钥。不要在服务器代码之外使用此密钥。例如,不要将其嵌入网页中。为防止配额被盗,请限制您的密钥,以便仅允许来自您服务器的源 IP 地址的请求。

    • 浏览器密钥 - 如果您的应用程序在客户端(例如 Web 浏览器)上运行,则创建并使用浏览器密钥。为防止您的密钥被用于未经授权的网站,请仅允许来自您管理的域的推荐。

    • IOS KEY - 如果您的应用程序在 iOS 设备上运行,则创建并使用 iOS 密钥。 Google 会验证每个请求是否来自与您指定的捆绑标识符之一匹配的 iOS 应用程序。应用程序的 .plist 文件包含其捆绑标识符。示例:com.example.MyApp

    • ANDROID KEY - 如果您的应用程序在 Android 设备上运行,则创建并使用 Android 密钥。为此,您需要使用该密钥指定应用程序的 SHA1 指纹和包名称。

    更多信息请查看page

    哪个键最适合 GCM 推送通知?

    我发现了许多教程和 SO 问题,您需要在使用 GCM 推送通知时使用 SERVER KEY

    来源

    【讨论】:

      猜你喜欢
      • 2013-07-16
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多