コンソールからすべての機能を使用できないため、Firebase CloudメッセージングAPIをテストしようとしています(特に、アプリがバックグラウンドにある場合の通知のカスタマイズ)。しかし、何らかの理由で、私はそれを動作させることができず、常に401エラーが表示されます。この理由を調査し、新しいサーバーキーを再生成してから試してみましたが、エラーは変わらないままです。驚いたことに、新しいサーバーキーを生成したとき、Firebaseコンソールに反映されず、サーバーキーが空として表示されます。また、IPアドレスをサーバーのホワイトリストIPに追加しようとしましたが、まだうまくいきませんでした。 Postmanで行ったリクエストのスクリーンショットを添付しました(serverKeyの代わりにサーバーキーを置き換えます)。
スクリーンショットから、「key:serverKey」を使用していることがわかりました。代わりに「key = serverKey」を使用してみてください。
また、「POST fcm.googleapus.com/fcm/send」は必要ありません。これは適切なjsonではなく、表示されているエラーを説明します。リクエストのURLは既に別の場所で定義されているため、ペイロードから削除します。
誰かがPOSTMANテストで[Web APIキー]を[YOUR_SERVER_KEY]として使用しているかどうかはわかりませんが、「401エラー」が表示され続けます。 [Web APIキー]は[YOUR_SERVER_KEY]ではありません。
Firebaseコンソールに移動して、これを確認する必要があります。
正しいサーバーキーを取得します。
お役に立てば幸いです。
私は同じ問題に直面しました。
問題は、レガシーサーバーキーを使用していたことです。サーバーキーの新しいバージョンを使用すると、問題は解決しました。
firebaseコンソールでgoto設定->クラウドメッセージング
次に、新しいサーバーキーを使用します。古いバージョンのキーよりも長いです。
https://console.firebase.google.com/u/0/project/ [project-name]/settings/cloudmessaging / に移動します
サーバーキーまたはレガシーサーバーキーを使用できます
私も同じ問題に直面しています...投稿にphpでcurlを使用していますが、LocalHostサーバーにphpファイルが保存されている場合にのみ機能します。オンラインで無料のホスティング経由でファイルにアクセスしようとすると、Unautorized 401と表示されます。
したがって、できればLocalhostを使用することをお勧めします。
サーバーサイドコード(C#)でも同じ問題が発生します。
基本的に、サービス側コードに間違ったサーバーキー(またはAPIキー)を使用しました。
私が投稿したstackoverflow上のリンクの下に続きます(サーバーキー(またはAPIキー)を見つけるのに役立ちます)