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

Python配置Cloud Firestore serviceAccountKey失败,遇DefaultCredentialsError

解决Google Cloud Firestore的DefaultCredentialsError问题

嘿,我帮你搞定这个Firestore凭证错误的问题!你碰到的DefaultCredentialsError本质就是代码找不到正确的服务账号密钥来完成身份验证,下面给你几个实用的解决办法:

方法一:设置环境变量(最常用的本地开发方式)

  • 先去Firebase控制台下载服务账号密钥JSON文件:进入项目设置 → 服务账号 → 点击「生成新的私钥」,把文件存到本地安全的位置。
  • 根据你的操作系统设置环境变量:
    • Windows(命令提示符):set GOOGLE_APPLICATION_CREDENTIALS="C:\实际路径\你的密钥文件.json"
    • Windows(PowerShell):$env:GOOGLE_APPLICATION_CREDENTIALS="C:\实际路径\你的密钥文件.json"
    • macOS/Linux:export GOOGLE_APPLICATION_CREDENTIALS="/实际路径/你的密钥文件.json"
  • 提示:这个环境变量只在当前终端会话生效,如果想永久生效,可以把命令添加到你的shell配置文件(比如.bashrc、.zshrc)或者Windows系统环境变量中。

方法二:在代码里显式加载密钥(灵活可控)

如果你不想依赖环境变量,直接在代码里指定密钥文件路径更稳妥,比如Python代码示例:

import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore

# 显式加载服务账号密钥
cred = credentials.Certificate("/实际路径/你的密钥文件.json")
firebase_admin.initialize_app(cred)

# 初始化Firestore客户端
db = firestore.client()

# 测试添加数据
doc_ref = db.collection('users').document('test_user')
doc_ref.set({
    'name': 'Test User',
    'email': 'test@example.com'
})

这样代码会直接使用你指定的密钥文件,完全不依赖环境变量的配置。

方法三:检查密钥文件的细节

  • 一定要用绝对路径指向密钥文件,相对路径容易因为当前工作目录的变化导致找不到文件。
  • 确保密钥文件有可读权限:Linux/macOS下可以执行chmod 600 /实际路径/你的密钥文件.json,既保证代码能读取,又避免密钥泄露。
  • 千万不要把密钥文件提交到Git等版本控制系统,记得把它添加到.gitignore里!

另外补充一点:如果你的代码是在Google Cloud的托管服务(比如Cloud Functions、Compute Engine)上运行,那不需要手动配置密钥,这些服务会自动获取默认凭证;但本地开发必须手动设置哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:13:06