You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Postman发送FCM消息遇认证凭证缺失错误,已配置Server Key求排查

解决Postman发送FCM消息时“缺少必要认证凭证”的问题

我之前也踩过这个坑,别慌,咱们一步步排查,大概率是这些细节没做到位:

  • 检查Authorization请求头的格式
    FCM要求的认证头格式必须是 key=你的Server Key,很多人容易在这里出错:

    • 不要给Server Key加引号,比如写成 "key=xxx" 是无效的
    • 绝对不能漏写 key= 前缀,直接填Server Key会被判定为无效凭证
    • 注意不要有多余空格,比如 key= xxxkey=后面多了空格)也会失效
      在Postman的Headers面板里,添加一条:
      Key: Authorization
      Value: key=你的完整Server Key
  • 确认你用的是正确的Server Key
    别把Web API Key当成Server Key用!去Firebase控制台的「项目设置」→「Cloud Messaging」页面,找到Server key这一项(不是下面的Web API Key,也不是Android/iOS的配置密钥),重新复制一遍,确保没有多复制空格或者漏掉字符。

  • 核对请求URL是否正确
    FCM的标准发送端点是 https://fcm.googleapis.com/fcm/send,如果你用了旧的或者错误的URL(比如 https://fcm.googleapis.com/fcm/notification),也会触发认证失败的错误,务必确认URL没错。

  • 检查请求方法和Body格式

    • 请求方法必须是POST,不能用GET
    • Body要选择raw格式,类型选JSON,并且JSON结构要符合FCM要求,至少包含to(单个设备令牌)或者registration_ids(多个设备令牌)字段,比如:
      {
        "to": "你的设备注册令牌",
        "notification": {
          "title": "测试消息",
          "body": "这是一条来自Postman的FCM测试消息"
        }
      }
      
      有时候Body格式错误会导致FCM返回误导性的认证错误,所以先确保格式正确。
  • 检查Server Key是否有IP限制
    如果你的Server Key设置了IP白名单,而Postman所在的IP不在允许列表里,也会认证失败。去Firebase控制台的「项目设置」→「Cloud Messaging」,找到Server Key旁边的编辑按钮,看看是否开启了“限制IP地址”,如果有,要么把你当前的IP添加进去,要么暂时关闭限制来测试。

按上面的步骤排查一遍,应该就能解决问题了!

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

火山引擎 最新活动