firebase 尝试向FCM服务器进行身份验证时出错

hi3rlvi2  于 2022-11-17  发布在  其他
关注(0)|答案(5)|浏览(417)

尝试验证FCM服务器时出错。请确保用于验证此SDK的凭据具有适当的权限。有关安装说明,请参阅https://firebase.google.com/docs/admin/setupenter image description here

rta7y2nd

rta7y2nd1#

为了解决这个问题,我采取了以下步骤:
1.打开Google云平台 Jmeter 盘
1.转到API和服务
1.启用API和服务
1.搜索云消息
1.打开云消息传递和Firebase云消息传递API。

vc9ivgsu

vc9ivgsu2#

我刚刚遇到这个问题,对我来说,这是因为我使用了一个模拟器。由模拟器生成的FCM令牌对firebase云消息无效,它抛出了这个错误。
我把我的admin.messaging().sendToDevice()放到一个try catch中,它工作得很好。
我不知道是只向有效令牌发送通知,还是完全忽略所有令牌

62o28rlo

62o28rlo3#

下载新的私钥并删除旧的私钥!

axzmvihb

axzmvihb4#

默认情况下,Firebase使用Firebase云消息传递API(V1),因此您需要使用此API而不是旧版API
对于Firebase云消息传递API(V1):

const data = {
    message: {
      token: registrationToken,
      notification: {
        title: "Notification Title",
        body: "Notification Body ",
      },
      data: {
        Nick: "Mario",
        Room: "PortugalVSDenmark",
      },
    },
  };

  admin.messaging().send(data.message);

对于云消息API(传统)1.首先转到Google云平台 Jmeter 板并启用云消息服务2.然后您可以像这样使用:

var payload = {
    notification: {
      title: "This is a Notification",
      body: "This is the body of the notification message.",
    },
  };

  var options = {
    priority: "high",
  };

  var registrationToken ="your device token";
   admin
     .messaging()
     .sendToDevice(registrationToken, payload, options)
    .then(function (response) {
       console.log("Successfully sent message:", response);
     })
     .catch(function (error) {
      console.log("Error sending message:", error);
     });

建议使用Firebase云消息传递API(V1),而不是云消息传递API(旧版)

iqih9akk

iqih9akk5#

在我的例子中,按照Abhimanyu的解决方案生成一个新的密钥仍然不能解决问题。
经过5个小时的挖掘,我发现根本原因是谷歌没有为我的项目激活这个API!!!

在我激活云消息传送权限后,它工作。

相关问题