尝试从 GCM 演示服务器发送消息时出现以下错误。该代码与 developer.android.com/google/gcm/demo.html 提供的代码相同,并且在 Tomcat 上运行。设备在服务器上注册并显示“1 个设备已注册!”。但是当按下“发送消息”按钮时出现以下错误。(我已将从https://code.google.com/apis/console/收到的 api 密钥放在“api.key”文件中。)
Apache Tomcat/7.0.35 - 错误报告
HTTP 状态 500 - HTTP 状态代码:401
类型异常报告
消息HTTP 状态码:401
描述服务器遇到一个内部错误,阻止它完成这个请求。
例外
com.google.android.gcm.server.InvalidRequestException:HTTP 状态代码:401 com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:177) com.google.android.gcm.server.Sender.send(Sender.java:121) com.google.android.gcm.demo.server.SendAllMessagesServlet.doPost(SendAllMessagesServlet.java:82) javax.servlet.http.HttpServlet.service(HttpServlet.java:647) javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
note Apache Tomcat/7.0.35 日志中提供了根本原因的完整堆栈跟踪。