2017-10-30 15 views
9

私たちのサーバー上でLegacy HTTP Server Protocolを首尾よくFCMに使用しています。 今日はFCM HTTP v1 APIに更新しました。「新しい」FirebaseクラウドメッセージングAPIを使用して403件の応答を取得

私はstep by stepそれをやったし、サーバーが要求を呼び出したときに、私たちは、この応答を取得:

URL url = new URL("https://fcm.googleapis.com/v1/projects/[projectid]/messages:send"); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
conn.setRequestProperty("Authorization", "Bearer " + getAccessToken()); 
conn.setRequestProperty("Content-Type", "application/json"); 
OutputStream outputStream = conn.getOutputStream(); 
outputStream.write(req.getBytes("UTF-8")); 

// Exception happen here 
InputStream inputStream = conn.getInputStream(); 

getAccessToken():

private static String getAccessToken() throws IOException { 
     GoogleCredential googleCredential = GoogleCredential 
      .fromStream(new FileInputStream(ClientApiServlet.context.getRealPath("/WEB-INF/[projectid].json")))   .createScoped(Arrays.asList("https://www.googleapis.com/auth/firebase.messaging")); 
     googleCredential.refreshToken(); 
     return googleCredential.getAccessToken(); 
} 

Server returned HTTP response code: 403 for URL: https://fcm.googleapis.com/v1/projects/[projectid]/messages:send 

これは、サーバーのコードです

jsonファイルはfirebaseクラウドのadminsdkページからダウンロードしました。

同じPROJECTIDを持つすべての...

私は、サーバー上でこれらの2つのLIBS更新:

google-http-client-jackson2-1.23.0.jar 
google-oauth-client-1.23.0.jar 

をgetAccessToken()Methodeのはaccesstokenを返しました:「ya29.c.Elr0BAa ... "

私は小さなステップが恋しいと思います。 ありがとうございます!

編集: それは、arterpaのヒントを使用して今働いています!再度、感謝します!私は400エラーを得たので、要求データの中で何かが間違っていた

はその後:

問題だった、我々は文字列にすべてのdata{...}値を変換しませんでした。従来のプロトコルでは問題ではありませんでしたが、FCM HTTP v1 APIでは文字列でなければなりませんでした。 ;)

答えて

15

私はこの問題を抱えていました。プロジェクトのFCM APIをGoogle API consoleにする必要があるようです。

+3

私は以前この問題に遭遇しましたが、修正したと言います。新しいFCM HTTP v1 APIを使用するため、従来は従来のHTTPプロトコルには不要だったGoogle APIダッシュボードでFCM APIを有効にする必要があるため、403を禁止しました。 – arterpa

+0

説明は妥当です。短い答えは自動的にレビューのためにフラグが立てられ、少なくとも一見、一見一見ではないことに注意してください。あなたのコメントは記載されており、フラグは削除されています。 – DiskJunky

+1

ありがとうございます! FCM APIは自動的に有効になりましたが、FCMメッセージングAPIは有効になっていませんでした。 https://console.developers.google.com/apis/library/fcm.googleapis.com/ – nickromano

関連する問題