FCM权限拒绝错误求助:Consumer 'projects/undefined'已被暂停
解决FCM 403 PERMISSION_DENIED(CONSUMER_SUSPENDED)错误
从报错信息和你的配置来看,问题集中在两个核心点:
- 配置里的
project_id变量未正确赋值,导致请求路径中出现projects/undefined - 错误提示明确标注
CONSUMER_SUSPENDED,说明对应的Firebase项目处于暂停状态
先修复项目ID加载问题
你的FCM请求路径使用了模板字符串/v1/projects/${project_id}/messages:send,但project_id变量没有被正确填充。可以按以下方式处理:
- 检查
project_id的来源:如果是从环境变量读取,确认环境变量已正确设置;如果是从配置文件读取,检查文件路径和内容是否无误 - 临时硬编码测试:把
${project_id}替换成Firebase控制台里的真实项目ID,验证请求是否能正常发起
再检查Firebase项目状态
即使修复了项目ID,也需要确认项目本身的状态:
- 登录Firebase控制台,查看对应项目是否被暂停(常见原因包括欠费、违反服务条款)
- 检查项目结算信息:如果是付费项目,确认没有未结清的账单
- 验证服务账号权限:确保代码中使用的服务账号拥有
Firebase Cloud Messaging Admin或至少Editor级别的权限
额外排查项
- 确认服务账号密钥有效:检查代码里加载的服务账号JSON文件是否对应正确项目,且文件未过期或被撤销
- 验证请求头:FCM v1 API要求请求头携带
Authorization: Bearer <token>,确保代码正确生成并添加了这个授权头
内容的提问来源于stack exchange,提问作者Djai
相关产品推荐
相关产品推荐

