尝试从我的服务器向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)
非常感谢任何帮助,谢谢
答案 0 :(得分:2)
我想我找到了原因,我试图用错误的apikey发送通知,这是一个安卓密钥,谷歌说它应该是服务器密钥(浏览器密钥也可以工作)
答案 1 :(得分:0)
你是对的,但浏览器密钥在我尝试的时候不能正常工作,所以如果任何人得到这个错误只是尝试重新生成api密钥(这只是服务器密钥而不是浏览器或android密钥)我们通过从谷歌api控制台选择公共api访问来生成。