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

更新Firebase Cloud Firestore数据库时出现404错误求助

问题分析与解决方案

核心问题

你当前代码使用的是Firebase实时数据库(Realtime Database)的SDK模块,但你的数据库是Firestore——这是Firebase旗下两个完全独立的数据库服务,API无法通用,这是导致404错误的根本原因。

修正步骤

  1. 替换SDK模块导入:将实时数据库的db模块替换为Firestore模块
  2. 初始化Firestore客户端:创建Firestore的操作实例
  3. 使用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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:45:11