0

だから、私はJerseyを使ってこの質問を見ました。しかし、私のサーバーからトピック購読ユーザーに簡単なプッシュ通知を送信する方法はまだ分かりませんでした。 に基づいて構築しようとしているため、私のリクエストに何が問題なのか分かりません。Firebaseがサーバ通知を送信するjava

public class OverSLANotifier { 

    public static void main(String[] args) throws Exception, FirebaseException { 
     String rawData = "{\"to\": \"/topics/sla\",\"data\": {\"message\": \"This is test push notification!\",}}"; 
     String encodedData = URLEncoder.encode(rawData, "UTF-8"); 

     URL u = new URL("https://fcm.googleapis.com/fcm/send"); 
     HttpURLConnection conn = (HttpURLConnection) u.openConnection(); 
     conn.setDoOutput(true); 
     conn.setRequestMethod("POST"); 
     conn.setRequestProperty("Authorization", "key=AI<redacted>VGB6YwPWrinoz1YFBgdKv4Pgm8s"); 
     conn.setRequestProperty("Content-Type", "application/json"); 
     OutputStream os = conn.getOutputStream(); 
     os.write(encodedData.getBytes()); 
     System.out.println(""+ conn.getResponseCode() + "-->>"+conn.getResponseMessage()); 
    } 

私のクライアントはproperly setであると私は、コンソールから送信する場合は受け取ることができます。

応答が常にある:

401 - >>無断

答えて

1

あなたは、JSONしている無効なようだ:

また
{\"to\": \"/topics/sla\",\"data\": {\"message\": \"This is test push notification!\"}} 

{\"to\": \"/topics/sla\",\"data\": {\"message\": \"This is test push notification!\",}} 

docuを確認するメッセージ:

メッセージの送信に使用された送信者アカウントを認証できませんでした。 考えられる原因は次のとおりです

  • Authorizationヘッダが存在しないか、またはHTTPリクエストに無効な構文で。
  • 無効なプロジェクト番号がキーとして送信されました。
  • キーは有効ですが、FCMサービスは無効です。
  • サーバー鍵のIPでは のホワイトリストに登録されていないサーバーからの要求です。

Source

PS:そのドキュメントでも無効youllのhere見つける;)

関連する問題