FirebaseMessagingError:返回未知服务器错误。原始服务器响应:““DeprecatedApi””

问题描述 投票:0回答:1

我尝试使用 firebase fcm 云消息传递配置 Node js 服务器,当我尝试发送消息时,我收到了来自服务器的响应:

FirebaseMessagingError: An unknown server error was returned. Raw server response: ""DeprecatedApi""
    at FirebaseMessagingError.fromServerError (/usr/src/app/node_modules/firebase-admin/lib/utils/error.js:269:16)
    at /usr/src/app/node_modules/firebase-admin/lib/messaging/messaging.js:94:65
    at Array.forEach (<anonymous>)
    at mapRawResponseToDevicesResponse (/usr/src/app/node_modules/firebase-admin/lib/messaging/messaging.js:90:26)
    at /usr/src/app/node_modules/firebase-admin/lib/messaging/messaging.js:484:24

我使用最新的“firebase-admin”:“12.4.0”,在firebase控制台上我仅启用“Firebase Cloud Messaging API(V1)”,并且我使用生成的带有凭据的json来初始化应用程序:

    const firebaseAdmin = require('firebase-admin');

    const firebaseApp = firebaseAdmin.initializeApp (
      {
         credential: firebaseAdmin.credential.cert ({
             type: 'service_account',
             project_id: ...,
             private_key_id: ...,
             private_key: ...,
             client_email: ...,
             client_id: ...,
             auth_uri: 'https://accounts.google.com/o/oauth2/auth',
             token_uri: 'https://accounts.google.com/o/oauth2/token',
             auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs',
             client_x509_cert_url: ...
         }),
         databaseURL: ...,
      },
      'app'
    );

    firebaseApp.messaging().sendToDevice(
      tokens, 
      {
        notification: {...},
        data: {...}
      }
    );

由于 sendToDevice 我遇到了上面提到的错误。

我错过了什么或做错了什么?

javascript node.js firebase firebase-cloud-messaging firebase-admin
1个回答
0
投票

解决方案:

sendToDevice 方法已弃用; Google 现在建议使用 send 方法。 SDK 6.0.0版本开始提供send方法

使用示例:

const message = {
    notification: {
        title: title,
        body: body,
    },
    data: {
        title: title,
    },
    token: pushToken
};

await firebase.messaging.send(message);

更多信息:

以下是有关使用 Google HTTP v1 API 进行消息传递的新方法的详细信息。提供此信息是为了帮助您使用 API v1 过渡到新方法:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.