更新Firebase Cloud Firestore数据库时出现404错误求助
问题分析与解决方案
核心问题
你当前代码使用的是Firebase实时数据库(Realtime Database)的SDK模块,但你的数据库是Firestore——这是Firebase旗下两个完全独立的数据库服务,API无法通用,这是导致404错误的根本原因。
修正步骤
- 替换SDK模块导入:将实时数据库的
db模块替换为Firestore模块 - 初始化Firestore客户端:创建Firestore的操作实例
- 使用Firestore API更新文档:按照Firestore的集合-文档结构编写更新逻辑
修正后的完整代码
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # 初始化Firebase Admin cred = credentials.Certificate('taiwaneew-firebase-adminsdk-odl9d-222bd18a4e.json') firebase_admin.initialize_app(cred) # 初始化Firestore客户端 db = firestore.client() # 定义更新Firestore数据的函数 def send_data(param1, param2): # 定位到目标文档:TaiwanEEW集合 -> Event子集合 -> ID为1的文档 doc_ref = db.collection('TaiwanEEW').collection('Event').document('1') # 更新指定字段 doc_ref.update({ 'intensity': param1, 'seconds': param2 }) # 调用函数执行更新 send_data("test", 123)
额外排查项(若仍有问题)
- 确认文档路径完全匹配:检查Firestore中
TaiwanEEW是根集合、Event是其子集合、1是目标文档的ID,与代码中的路径一致 - 验证服务账号权限:确保凭证文件对应的服务账号在Firebase控制台的IAM中拥有
Firestore编辑器或更高权限 - 检查网络连通性:确保运行代码的环境可以正常访问Firebase服务
内容的提问来源于stack exchange,提问作者Joe Lin
相关产品推荐
相关产品推荐

