我正在为客户机和服务器使用Google消息传递(GCM)示例代码。我已经使用Apache成功地安装了服务器&还按照本教程提供的步骤创建了Android应用程序(apk)。
在Apache上部署了war文件之后,我可以从模拟器注册。我为Tomcat服务器提供了一个公共IP &能够使用GPRS查看移动浏览器中的“注册屏幕”。
我遵循了GCM教程中提供的所有步骤。
GCM的样本代码有什么问题吗?
当我单击一个按钮向注册的设备发送消息时,我会得到以下异常:
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:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
我曾经历过一些类似的帖子,但在这个问题上没有找到任何确切的解决办法。任何建议/暗示都是有帮助的。
发布于 2012-09-25 02:37:19
我在使用tomcat作为服务器时遇到了同样的问题,为了修复它,我修改了这个文件。
WebContent/WEB-INF/classes/api.key用从google控制台提取的API键替换内容。
希望能帮上忙。
发布于 2013-12-11 11:26:09
Google最近将他们的api控制台更新为Google控制台。简而言之,您需要创建一个Android应用程序,并选择通过web服务器访问API。这项服务有详细的指南。
发布于 2012-08-08 18:59:01
这是未经授权的返回码。您的服务器应用程序没有对GCM服务器进行身份验证。您是否在开发人员控制台中为自己生成了一个API密钥?
https://stackoverflow.com/questions/11861385
复制相似问题