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

能否无需认证用Python订阅公开Firebase项目的事件?

问题

存在一个Firebase项目,我希望监控其公开的特定事件,当事件发生时进行订阅并发送通知。尝试使用Python的firebase_admin库时,发现该库需要JSON凭据文件或gcloud认证才能初始化,但项目开发者表示数据是公开的,无需认证。请问是否有办法绕过认证,直接调用监听Firestore数据的接口?

解决方案
  • 放弃使用firebase_admin库:该库专为服务端管理员操作设计,强制要求身份认证,即便数据公开也无法绕过这一限制。
  • 采用Firebase REST API实现轮询监听:对于公开数据,Firebase允许未经认证的请求通过REST接口访问。若要实现监听效果,可通过定期发送GET请求查询目标集合/文档的变化(适合低频率更新场景);也可模拟官方客户端SDK的长轮询机制,持续监听数据更新。
  • 使用面向客户端的非官方Python库:例如firebase库(区别于firebase_admin),这类库针对客户端场景设计,支持无认证访问公开数据,且提供数据监听功能。示例代码如下:
import firebase

# 初始化客户端,无需传入凭据
firebase_app = firebase.FirebaseApplication("https://<你的项目ID>.firebaseio.com", None)

# 定义数据变化回调函数
def handle_data_update(event):
    print("检测到数据更新:", event["data"])

# 监听指定集合的数据变化
firebase_app.child("目标集合路径").listen(handle_data_update)
  • 确认安全规则配置:务必确保目标Firebase项目的安全规则允许未经认证的读取操作,示例规则如下:
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read: if true;
      allow write: if false;
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 12:50:00