web-dev-qa-db-ja.com

FCMとPostman-要求に認証キー(FCMトークン)がありませんでした

enter image description here

//このようなボディ

{
    "to":
    "/topics/NEWS"
    ,
    "data":{
        "extra_information": "This is some extra information"
    },

//私が与える必要があるという通知

"notification":{
            "title": "ChitChat Group",
            "text": "You may have new messages",
            "click_action":"ChatActivity"
        }
    }
30
HemalHerath

401エラーは、認証キーが無効または正しくないことに関するものです。

Postmanを使用する場合、次のようにAuthorizationの値にkey=プレフィックスを追加します。

key=AAA...

Postmanを使用したダウンストリームFCMメッセージの送信に関するチュートリアルについては、以下を参照してください。

また、notificationメッセージペイロードの場合、textは有効なパラメーターの1つではなく、代わりにmessageを探していたと思います。



Postmanを使用したダウンストリームメッセージの送信

Postman でこれを行うには、単に以下を設定する必要があります。

  1. リクエストタイプをPOSTに設定します
  2. Headersで、次を設定します。
  3. Bodyでペイロードパラメーターを設定します(*この例では、rawオプションを使用しました、スクリーンショット(2)*を参照)
  4. https://fcm.googleapis.com/fcm/send にリクエストを送信します

スクリーンショット:

(1) enter image description here

:サーバーキーは常に秘密にしてください。ここではキーの一部のみが表示されるため、問題はありません。

(2) enter image description here

(3) enter image description here

リクエストに成功したことに注意してください。応答にmessage_idが含まれています。

71
AL.

上記の答えはまだ正しいですが、HTTP v1を使用することもできます。これには、key=の代わりにBearerが必要であり、サーバーキー文字列の代わりにOauth2アクセストークンを使用します。 HTTP v1仕様を表示するには、以下のリンクを参照してください。

https://firebase.google.com/docs/cloud-messaging/migrate-v1

5
Ben Grady

違う:

承認:AIzaSyDDk77PRpvfhh ......

正しい:

許可:key = AIzaSyDDk77PRpvfhh ......

完全な例:

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

{ "data": {
    "score": "5x1",
    "time": "15:10"
  },
  "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}
3
Yang

PHPでも同じエラーが発生していましたが、以下のヘッダーで解決しました:

$header = array("authorization: key=" .  $this->apiKey . "","content-type: application/json");
1
Saurabh Mistry