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)

非常感谢任何帮助,谢谢

4

2 回答 2

2

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

于 2013-08-06T15:05:37.963 回答
0

你是对的,但浏览器密钥无法像我尝试的那样工作,所以如果有人收到此错误,只需尝试重新生成我们通过选择公共 api 生成的 api 密钥(它是服务器密钥,不是浏览器或 android 密钥)从 google api 控制台访问。

于 2014-07-07T12:03:33.050 回答