尝试发送gcm消息时HttpRetryExcepiton

时间:2013-03-10 14:36:39

标签: android google-cloud-messaging

尝试从我的服务器向GCM服务器发送邮件时,我收到了java.net.HttpRetryException异常。

try {
    multiResult = sender.send(message, devices, RETRY_COUNT);
} catch(IOException e) {
    logger.error("{0}\t- ANDROID : IOException occured during sending message: {1}", e.getMessage());

}

我已经成功注册了设备,但是这种发送方法给了我例外,如下所示

java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
at com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:362)
at com.google.android.gcm.server.Sender.send(Sender.java:261)

非常感谢任何帮助,谢谢

2 个答案:

答案 0 :(得分:2)

我想我找到了原因,我试图用错误的apikey发送通知,这是一个安卓密钥,谷歌说它应该是服务器密钥(浏览器密钥也可以工作)

答案 1 :(得分:0)

你是对的,但浏览器密钥在我尝试的时候不能正常工作,所以如果任何人得到这个错误只是尝试重新生成api密钥(这只是服务器密钥而不是浏览器或android密钥)我们通过从谷歌api控制台选择公共api访问来生成。