FCM从NodeJS服务器发送消息导致错误:请求包含无效参数

时间:2018-09-23 13:45:29

标签: node.js firebase firebase-cloud-messaging

我不会从我们的NodeJS服务器通过FCM向我们的iOS / Android设备发送推送通知。我遵循FCM文档中的步骤将admin SDK添加到我们的项目(https://firebase.google.com/docs/admin/setup)中。我尝试将这段代码发送到我的Android

const admin = require("firebase-admin");
const serviceAccount = require("/path/to/serviceAccountKey.json");
const crypto = require("crypto");

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount)
  });

exports.sendMessage = () => {
    //let registrationToken = crypto.randomBytes(20).toString("hex");
    var registrationToken = "TEST";
    var message = {
        data: {
            msg: "Hello, this is a push notification"
        },
        token: registrationToken
    };
    admin.messaging().send(message)
        .then((response) => {
            console.log("Successfully sent message: ", response);
        }).catch((err) => {
            console.log("Error sending message: ", err);
        })
}

我通过HTTP GET函数从Postman调用此方法。但是随后会发生此错误:

    Error sending message:  { Error: Request contains an invalid argument.
    bla bla bla....
 errorInfo: 
   { code: 'messaging/invalid-argument',
     message: 'Request contains an invalid argument.' },
  codePrefix: 'messaging' }

1 个答案:

答案 0 :(得分:1)

好的,我解决了我的问题,问题是我的 registrationToken 是错误的,现在我可以成功地向我的Android设备发送消息了。