尝试发送gcm消息时出现HttpRetryException。

4

当我尝试从我的服务器向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)

非常感谢您的帮助,谢谢。

涉及IT技术方面的问题,如有需要请随时联系。
2个回答

2

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


0

您说得对,但是浏览器密钥不起作用,我已经尝试了。所以如果有人遇到这个错误,请尝试重新生成 API 密钥(只需要生成服务器密钥而不是浏览器或 Android 密钥),我们可以通过在 Google API 控制台中选择公共 API 访问来完成。


我重新生成了API密钥(服务器密钥),但仍然显示相同的异常,请尽快帮助解决。 - Ravv
只需发布您的异常! - Vishal Pandey
java.net.HttpRetryException:由于服务器身份验证,无法重试 - Ravv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接