FCM 访问令牌:注册令牌不是有效的 FCM 注册令牌

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

当我调用此 Google Cloud 函数(使用 node.js)时,我获得了 OAuth 令牌,但似乎我没有获得用于消息传递的正确 OAuth 令牌。

const MESSAGING_SCOPE = 'https://www.googleapis.com/auth/firebase.messaging';
const SCOPES = [MESSAGING_SCOPE];

function getOAuthAccessToken() {
    return new Promise(function (resolve, reject) {
        let jwtClient = new google.auth.JWT(
            keyData.client_email,
            null,
            keyData.private_key,
            SCOPES,
            null
        );
        jwtClient.authorize(function (err, tokens) {
            if (err) {
                reject(err);
                return;
            }
            resolve(tokens.access_token);
        });
    });
}

错误负载:

{
  "error" : {
    "code" : 400,
    "message" : "The registration token is not a valid FCM registration token",
    "status" : "INVALID_ARGUMENT",
    "details" : [
      {
        "@type" : "type.googleapis.com\/google.firebase.fcm.v1.FcmError",
        "errorCode" : "INVALID_ARGUMENT"
      }
    ]
  }
}

我可以在 Google Playground 中获取 OAuth 访问令牌,它可以工作,但该令牌只是临时令牌。

node.js firebase oauth google-cloud-functions firebase-cloud-messaging
1个回答
0
投票

您似乎正在尝试向 OAuth 令牌发送消息,但这不起作用。虽然 OAuth 令牌可用于授权通过 FCM 发送消息,但它们本身不能成为发送消息的目标。

如果您想向其发送消息,则需要一个适当的 FCM 令牌,您可以通过调用 iOSAndroidweb 的相应方法来获取该令牌

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