You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB触发器函数调用FCM发送推送时提示缺少认证密钥求助

FCM推送请求报错“缺少认证密钥”的排查与解决

核心问题排查与修复步骤

1. 修正Authorization头的格式错误

你的代码中Authorization头的写法存在格式问题:"Authorization":"key= Web Server Key"里key=和密钥之间多了一个空格,FCM的认证头要求key=与密钥之间无空格,正确格式应为key=你的Web Server Key。

2. 确认使用正确的密钥

务必使用Firebase控制台中**Cloud Messaging API (Legacy)**对应的Web Server Key,而非项目设置里的普通API Key:

  • 进入Firebase控制台→目标项目→项目设置→云消息传递
  • 找到Cloud Messaging API (Legacy)模块,复制其中的Web Server Key(若未启用,先点击启用)

3. 检查请求头参数的拼写

你的代码中用了header(单数),但多数HTTP客户端库要求用headers(复数)定义请求头,这会导致认证头无法被正确识别。

修正后的代码示例

const response = await context.http.post({
    url: "https://fcm.googleapis.com/fcm/send",
    headers: { // 改为复数headers
        "Content-Type": "application/json",
        "Authorization": "key=你的Web Server Key" // 移除key=后的空格
    },
    body: {
        "to": usersPushToken,
        "notification": {
            "title": "Title", 
            "body": "body",
            "clickAction": 'FLUTTER_NOTIFICATION_CLICK',
            "sound": 'default',
        },
    }
}, {
    encodeBodyAsJSON: true,
});

额外检查项

  • 确认Google Cloud控制台中**Cloud Messaging API (Legacy)**已启用:进入Google Cloud控制台→API和服务→库→搜索“Cloud Messaging API (Legacy)”→确保状态为“已启用”
  • 复制密钥时避免包含多余换行或空格,建议直接复制粘贴

内容的提问来源于stack exchange,提问作者Georgina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:55:19