2016-06-12 83 views
1

两年前(2014年6月),我为我的Android应用程序创建了用于GCM推送通知的Android API密钥。从最近两天开始,GCM服务器在PHP中返回Unauthorized(401)响应。为什么Android密钥(api密钥)无效或该密钥已被GCM服务器弃用?

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

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

请给出关于这四个API密钥以及它们的生命周期的适当的细节和解释。或者是Android键被弃用?

+0

见我的答案[这里](http://stackoverflow.com/a/37801206/ 4625829)。 –

回答

0

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

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

0

是否有一个API密钥的任何有效性/过期?

从这个SO question的答案。这里明确指出,API密钥没有到期。

有关四(服务器,androi,IOS,浏览器)的细节和交代 键。

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

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

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

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

欲了解更多信息,请查阅page

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

我发现很多教程和,这样,你需要使用服务器密钥使用GCM推送通知的问题。

来源