web-dev-qa-db-ja.com

Firebaseメッセージング/資格情報の不一致

Firebaseを使用して特定のデバイスに通知を送信しようとしていますが、次のエラーが発生します。

{"r":{"results":[{"error":{"code": "messaging/mismatched-credential"、 "message": "このSDKの認証に使用される資格情報には、メッセージをに送信する権限がありません提供された登録トークンに対応するデバイス。認証情報と登録トークンの両方が同じFirebaseプロジェクトに属していることを確認してください。 "}}]、" canonicalRegistrationTokenCount ":0、" failureCount ":1、" successCount ":0、" multicastId ": 5165415028752234000}}

原因は不明ですが、プロジェクトに関連付けられているサービスアカウントと適切なデバイスIDを使用しています。

どんな助けでも素晴らしいです、ありがとう!

11
Joe Scotto

問題は私のgoogle-services.json。私のアプリは2つのプロジェクトを使用しており、デフォルトで最初のプロジェクトに設定されていました。 2番目のプロジェクトのjsonファイルを追加すると、トークンが適切なプロジェクトに送信されるようになるため、これが修正されました。

4
Joe Scotto

私も同じ問題に直面しました。 GoogleクラウドプラットフォームでFirebase Cloud Messaging APIを有効にする必要があることを理解するのに2日かかりました。これを有効にしないと、「資格情報の不一致」というエラーも発生します。エラーメッセージがより具体的になることを願っています。

6
Martin Z

このエラーメッセージは FCMのドキュメント にあります。

これは、デバイス登録トークンとは異なるプロジェクトの認証情報でAdmin SDKを初期化したことを意味します。

言い換えると、セキュリティ上の理由から、思いついたデバイストークンにメッセージを送信することはできません。同じプロジェクト内のアプリ経由でのみデバイストークンにメッセージを送信できます。

4
Doug Stevenson

Google Cloud PlatformでFirebase Cloud Messaging APIを有効にします。

[APIとサービスダッシュボード]セクションでそれを見つけることができませんでしたが、APIライブラリを参照する必要があったことに注意してください

有効にすると、次の場所にあります。
Google Cloud Platform>ナビゲーションメニュー> APIとサービス>ダッシュボード> Firebase Cloud Messaging API

直接リンク: https://console.cloud.google.com/apis/api/fcm.googleapis.com/overview

niocncn へのクレジット。