2

クライアントとサーバーの両方に Google Cloud Messaging (GCM) サンプル コードを使用しています。Apache Tomcat を使用してサーバーを正常にセットアップし、チュートリアルで提供されている手順に従って Android アプリケーション (apk) も作成しました。

war ファイルを Apache Tomcat にデプロイした後、エミュレーターから登録できるようになりました。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)

私はいくつかの同様の投稿を行ってきましたが、この問題に関する正確な解決策は見つかりませんでした. 提案/ヒントは役に立ちます。

4

3 に答える 3

4

サーバーとしてTomcatを使用して同じ問題が発生しました。修正するために、このファイルを変更しました

WebContent/WEB-INF/classes/api.keyコンテンツを Google API コンソールから抽出した API キーに置き換えます。

お役に立てば幸いです。

于 2012-09-25T02:37:19.347 に答える
0

それが Not Authorized リターン コードです。サーバー アプリが GCM サーバーに対して認証されていません。開発者コンソールで API キーを生成しましたか?

于 2012-08-08T18:59:01.053 に答える