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

从旧版FCM API迁移至HTTP v1时遇400错误:无效注册令牌

FCM HTTP v1 API迁移:注册令牌无效错误的排查解决步骤

我正在从旧版FCM API迁移到FCM HTTP v1 API集成推送通知,目前遇到错误提示:The registration token is not a valid FCM registration token。相关情况如下:

  • 已通过Google OAuth Playground生成OAuth令牌,使用的是Firebase测试项目的客户端ID与密钥
  • 请求为POST类型,URL为https://fcm.googleapis.com/v1/projects/cedar-freedom-396911/messages:send
  • 请求头的Authorization字段已携带生成的OAuth令牌
  • 该安卓注册令牌在旧版FCM API中可正常使用,但在v1 API中报错

排查解决步骤

1. 修正请求体格式

FCM v1 API的请求体结构和旧版差异极大,旧版的to字段在v1中必须嵌套在message.token节点下,正确的请求体示例如下:

{
  "message": {
    "token": "你的安卓注册令牌",
    "notification": {
      "title": "测试推送",
      "body": "这是一条v1 API测试消息"
    },
    "android": {
      "notification": {
        "sound": "default"
      }
    }
  }
}

如果仍沿用旧版{"to": "...", "notification": {...}}的格式,会直接触发令牌无效的错误。

2. 验证OAuth令牌的权限范围

在OAuth Playground生成令牌时,必须勾选正确的权限:

  • 选择https://www.googleapis.com/auth/firebase.messaging权限
  • 确保授权的项目是当前使用的cedar-freedom-396911项目
    生成令牌后,可通过https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=你的令牌验证权限是否包含firebase.messaging。

3. 确认注册令牌的项目归属

即使令牌在旧版API可用,也要确认该令牌对应的安卓应用属于cedar-freedom-396911项目:

  • 登录Firebase控制台,进入该项目的「云消息传递」→「应用」页面
  • 检查安卓应用的包名是否和生成令牌的应用包名完全一致
  • 若应用是刚添加到项目的,需等待数分钟让令牌同步到v1 API系统

4. 检查请求头格式

Authorization头必须带有Bearer前缀,格式为:Authorization: Bearer 你的OAuth令牌,不能遗漏Bearer或写错大小写。

5. 排查令牌有效性

  • OAuth Playground生成的令牌默认有效期约1小时,若使用的是旧令牌,重新生成新的再测试
  • 检查Firebase项目的服务账号是否被禁用,或客户端密钥是否有变更

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:05:17