Android 谷歌云消息API-未经授权

Android 谷歌云消息API-未经授权,android,perl,cordova,google-play-services,google-cloud-messaging,Android,Perl,Cordova,Google Play Services,Google Cloud Messaging,我正在尝试在Android设备上运行一个简单的PhoneGap应用程序。因此,我按照所有步骤创建了一个项目,该应用程序成功地与GCM服务器通信,并使用我的项目编号获得注册ID 问题是我无法从服务器端与GCM通信。我最初是在Perl中这样做的,但即使是GCM文档中的curl示例也会返回“401” 他们的API访问密钥被列入了白名单,我试着删除它并创建了一个新的几次。甚至尝试使用浏览器密钥而不是服务器密钥。同样的结果是:未经授权的访问 以及根据当前文档,从main(旧版本,而不是新的googlecl

我正在尝试在Android设备上运行一个简单的PhoneGap应用程序。因此,我按照所有步骤创建了一个项目,该应用程序成功地与GCM服务器通信,并使用我的项目编号获得注册ID

问题是我无法从服务器端与GCM通信。我最初是在Perl中这样做的,但即使是GCM文档中的curl示例也会返回“401”

他们的API访问密钥被列入了白名单,我试着删除它并创建了一个新的几次。甚至尝试使用浏览器密钥而不是服务器密钥。同样的结果是:未经授权的访问

以及根据当前文档,从main(旧版本,而不是新的googlecloud)API控制台创建的所有密钥。我找不到如何在谷歌云控制台中生成简单的API访问密钥

正如我上面提到的,GCM服务是为这个项目启用的,因为客户端可以连接并获得注册ID

还有其他帮助吗?

尝试使用“服务器密钥”而不是“Android密钥”,我在使用后者时遇到了“未经授权的访问”

如果您应用了“服务器密钥”,您可以通过以下方式在Linux或Mac OS上的控制台上进行验证(请在每行中填写数据):


对不起,打字错误。我的意思是GCM(谷歌云消息)无处不在,而不是GSM和CGMYeah,无法想象旧的API密钥现在无法工作。。。。我的问题实际上在这里得到了回答:谢谢如果你的问题在别处得到了回答,也许你应该删除这个问题。这里有一个详细的指南:谷歌最近更新了他们的控制台界面!您需要为与GCM通信的服务器生成一个api密钥,并为与服务器+GCM通信的android应用程序生成一个不同的api密钥。请参阅此图以更好地理解
api_key="xx...xxx"
reg_id="yy...yy"
curl --header "Authorization: key=$api_key" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send  -d "{\"registration_ids\":[\"$reg_id\"],\"data\":{\"code\":123}}"