Google Cloud Messagingで以下のようなエラーが発生しました。
Exception: Request failed for https://fcm.googleapis.com returned code 401. Truncated server response:
認証エラー 401とは?
![](https://eguweb.jp/wp-content/uploads/202309241735No-00.jpg)
メッセージの送信に使用された送信者のアカウントを認証できませんでした。考えられる原因は次のとおりです。
Exception: Request failed for https://fcm.googleapis.com returned code 401. Truncated server response: <HTML>
<HEAD>
<TITLE>INVALID_KEY</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>INVALID_KEY</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
- 認証ヘッダーが見つからないか、HTTP リクエストに含まれた構文が無効です。
- 指定されたサーバーキーの Firebase プロジェクトが正しくありません。
- 以前のサーバーキーのみ – リクエストが、サーバーキーの IP でホワイトリストに登録されていないサーバーから送信されています。
「INVALID_KEY」エラー 401
プッシュ リクエストを送信し、通知を発行しようとすると、サーバーは常に「INVALID_KEY」エラー 401を返します。
この場合、解決策として [プロジェクト設定] > [クラウド メッセージング]でクラウド メッセージング APIのレガシー セットアップを作成する方法があります。
![](https://eguweb.jp/wp-content/uploads/202309241737No-00-1024x766.jpg)
これを行うには、「Cloud Messaging API (Legacy)」の横にある 3 つのドットを押してサービスを有効にします。その後、環境が自動的にセットアップされ、キーが提示されます。
![](https://eguweb.jp/wp-content/uploads/202309241738No-01.jpg)
![](https://eguweb.jp/wp-content/uploads/202309241738No-02.jpg)
まとめ
スクリプトを実行すると、プッシュ通知が送信されました。
今回の場合は、クラウド メッセージング APIのレガシー セットアップを有効化することで解決しました。
ご参考ください。