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

如何为React Native聊天应用获取FCM永久OAuth 2.0访问令牌

FCM HTTP v1 API OAuth令牌问题解决方案

一、自动生成并刷新OAuth 2.0访问令牌(替代临时令牌)

OAuth Playground的临时令牌仅适合快速测试,生产环境必须通过服务账号密钥自动生成并刷新令牌,步骤如下:

  • 登录Firebase控制台,进入项目设置>服务账号>点击"生成新的私钥",下载JSON格式的服务账号密钥文件(注意保密,不要提交到代码仓库)。
  • 使用Google官方的google-auth-library库(支持Node.js、Python等主流后端语言)自动生成令牌,该库会自动处理令牌过期刷新逻辑,无需手动干预。

以Node.js为例,代码示例:

const { GoogleAuth } = require('google-auth-library');

async function getFCMAccessToken() {
  const auth = new GoogleAuth({
    keyFile: './path/to/your-service-account.json', // 替换为你的密钥文件路径
    scopes: 'https://www.googleapis.com/auth/firebase.messaging',
  });
  const client = await auth.getClient();
  const accessToken = await client.getAccessToken();
  return accessToken.token;
}

// 调用示例
getFCMAccessToken().then(token => {
  console.log('FCM访问令牌:', token);
});

二、OAuth Playground添加自有凭证失败的修正方法

你填入ServerKey的做法是错误的,OAuth Playground需要的是OAuth 2.0客户端ID和客户端密钥,而非Legacy API的ServerKey,正确操作步骤:

  1. 登录Google Cloud控制台(与Firebase项目关联的云账号),进入API和服务>凭据。
  2. 点击"创建凭据">选择"OAuth客户端ID",应用类型选择"Web应用",填写名称后创建。
  3. 复制生成的客户端ID和客户端密钥。
  4. 打开OAuth Playground,点击右上角齿轮图标进入设置面板,勾选"使用自己的OAuth凭据",将复制的客户端ID和密钥填入对应字段,保存设置。
  5. 在OAuth Playground的授权步骤中,添加https://www.googleapis.com/auth/firebase.messaging作为授权范围,重新完成授权流程即可。

注意:OAuth Playground仅适合临时测试,生产环境请使用服务账号密钥方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:35:04