如何通过编程获取Firebase App Distribution API调用的ACCESS_TOKEN?
获取Firebase App Distribution API的Access Token方案
下面是几种结构化的实现方案,涵盖API调用、框架工具和临时测试方法:
方法1:使用Google OAuth 2.0服务账号生成令牌(生产环境推荐)
这是最稳定的生产级方案,通过服务账号身份向Google的令牌端点请求:
步骤:
- 在Google Cloud控制台为你的项目创建服务账号,分配「Firebase App Distribution Admin」权限,下载JSON格式的密钥文件。
- 直接调用Google令牌端点获取令牌:
或者用官方客户端库简化实现(以Python为例):curl -X POST \ "https://oauth2.googleapis.com/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=$(生成的JWT断言)"
生成的from google.oauth2 import service_account import requests # 替换为你的服务账号密钥文件路径 SERVICE_ACCOUNT_FILE = "path/to/service-account-key.json" SCOPES = ["https://www.googleapis.com/auth/cloud-platform"] credentials = service_account.Credentials.from_service_account_file( SERVICE_ACCOUNT_FILE, scopes=SCOPES ) # 获取访问令牌 access_token = credentials.token # 若令牌过期,可刷新 if credentials.expired: credentials.refresh(requests.Request()) access_token = credentials.tokenaccess_token即可直接用于Firebase App Distribution API的Authorization头。
方法2:通过gcloud命令行工具获取令牌(开发/测试用)
如果你本地安装了Google Cloud SDK,可以快速获取临时令牌:
# 先登录你的Google账号(首次执行) gcloud auth login # 获取有效期1小时的访问令牌 gcloud auth print-access-token
输出的字符串就是可用的[YOUR_ACCESS_TOKEN],适合临时测试API调用。
方法3:硬编码令牌(仅临时测试,禁止生产环境使用)
令牌可以从Google Cloud SDK的本地缓存中找到:
- 路径(Mac/Linux):
~/.config/gcloud/access_tokens.db(SQLite数据库,可直接查询) - 路径(Windows):
%APPDATA%\gcloud\access_tokens.db
查询语句示例:
SELECT token FROM access_tokens;
注意:令牌有效期仅1小时,过期后需要重新获取,因此绝对不能用于生产环境。
内容的提问来源于stack exchange,提问作者artem petrov
相关产品推荐
相关产品推荐

