Python Requests操作Firebase:如何获取全部JSON文件/节点名称?
Firebase 全量节点获取方案
你提到的music.json这类后缀名对应的不是独立存储的JSON文件,而是Firebase Realtime Database的顶级节点标识,你可以通过以下步骤快速获取全量节点、简化请求流程:
- 修正请求参数获取所有顶级节点(即你所说的JSON文件名)
你之前请求失效的核心原因有两个:一是参数拼写错误(shallow=trye应为shallow=true),二是附加了不必要的download参数覆盖了查询逻辑,同时原始请求域名缺少.com后缀。使用如下请求即可直接拿到根路径下所有第一级节点名称:https://[PROJECT_ID].firebaseio.com/.json?shallow=true
该请求返回的JSON结构中所有键名就是你需要的「JSON文件名」,示例返回值如下:{ "music": true, "game": true, "news": true } - 一次性拉取全量数据
如果你不需要分别请求每个节点的数据,可以直接去掉shallow参数请求根路径,一步拿到整个数据库的完整嵌套数据,无需遍历拼接多个节点请求:https://[PROJECT_ID].firebaseio.com/.json - 权限异常处理
如果请求返回401/403错误,说明数据库规则限制了匿名访问,你可以在请求头中添加合法的认证令牌,或者临时调整数据库规则放开读权限用于测试:{ "rules": { ".read": true, ".write": false } }
内容的提问来源于stack exchange,提问作者JAricho
相关产品推荐
相关产品推荐

