您好我正在尝试通过GCM从服务器(应用程序服务器)向移动设备发送推送通知消息。我尝试下面的代码,但得到“连接被拒绝错误”,但当我使用网络服务测试测试我得到“未经授权的错误”根据附件。我正在使用服务器API密钥,没有IP地址被whishlisted.i已启用谷歌云消息的Android API也不知道原因。请帮忙。 web service tester error screenshot
代码:
String google_server_key="";
ResourceBundle rb = ResourceBundle.getBundle("GCMServerKey");
Enumeration <String> keys = rb.getKeys();
while (keys.hasMoreElements())
{
google_server_key = keys.nextElement();
}
try
{
String pushNotificationMessage="nagesh";
String regID="APA91bEZD2MFH7TzMvry1UR2ezqTSAwCbqRgIZ8qXo_h559TYId29j3u2zPyHzxiZrA65tVhtPlY9O77LnLRbqJf585YmwYccBrGoQ5OjPAz4xT_JfIGJ1AEyjq9EUEhawc2V4kMrIar"; //pushMessage.getRegId();
Sender sender = new Sender(google_server_key);
Message message = new Message.Builder().timeToLive(30)
.delayWhileIdle(true).addData(MESSAGE_KEY, pushNotificationMessage).build();
Result result = sender.send(message,regID , 1);
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
答案 0 :(得分:0)
这是Downstream message error response code文档。
身份验证错误401
无法验证用于发送邮件的发件人帐户。可能的原因是:
- 缺少授权标头或HTTP请求中的语法无效。
- 作为密钥发送的项目编号无效。
- 密钥有效但GCM服务已停用。
- 请求来自服务器密钥IP中未列入白名单的服务器。
检查您在Authentication标头内发送的令牌是否是与您的项目关联的正确API密钥。有关详细信息,请参阅Checking the validity of an API Key。