Python连接Firebase Firestore报无效服务账号证书错误
报错根因
你混淆了两类Firebase配置文件:
你之前从「你的应用」板块SDK配置区拿到的参数,是给Web端/客户端前端SDK使用的公开配置,完全不适用于Python服务端用的firebase_admin(Admin SDK)。Admin SDK要求传入的是服务账号私钥证书,这类证书必须包含值为service_account的type字段,你自己保存的前端配置文件里没有这个字段,所以抛出对应错误。
修复步骤
- 进入对应Firebase项目的设置页面,切换到「服务账号」标签页,不要停留在之前的「你的应用」前端配置区
- 保持默认选中的「Firebase Admin SDK服务账号」即可(该账号默认拥有操作Firestore、云存储等项目资源的足够权限)
- 点击页面上的「生成新的私钥」按钮,确认后会自动下载合法的服务账号JSON密钥文件
- 将下载得到的JSON文件放到你项目的
src/路径下,替换掉之前自己保存的firebaseconfig.json,保持代码里的证书路径指向正确的新文件即可正常运行
注意:服务账号私钥属于高敏感凭证,不要上传到公开代码仓库,不要泄露给无关人员,否则会导致项目资源被未授权访问。
内容的提问来源于stack exchange,提问作者iceiscold
相关产品推荐
相关产品推荐

