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

Pyrebase5访问Firebase实时数据库子集合时出现401权限错误

Pyrebase5访问Firebase实时数据库权限问题排查与解决

使用Pyrebase5访问Firebase实时数据库时遇到权限问题,认证代码如下:

_config = {'example': 'ThisConfig'}
_firebase = pyrebase.initialize_app(self._config)
_auth = _firebase.auth()
_user = _auth.sign_in_with_email_and_password('eletroinformaticabrasil.bav.py@mail.com', 'myexample_password')
_db = _firebase.database().child('eletroinformaticabrasil')
_get = _db.child('AUTH_USER').get(token=_user['idToken'])

初始错误

Errno 401 Client Error: Unauthorized for url: https://dazzrickprogrammer-default-rtdb.firebaseio.com/eletroinformaticabrasil/AUTH_USER.json?auth=token] { "error" : "Permission denied" }

数据库规则、结构及认证API配置均正常,且通过JavaScript CDN调用Firebase API无此问题。

编辑后错误

修改代码后出现新错误:

[db] -> 2023/5/20 - 11:11:52 -> DataSource Get Error :Exception: [Errno 401 Client Error: Unauthorized for url: https://dazzrickprogrammer-default-rtdb.firebaseio.com/AUTH_GROUP.json?auth=token] { "error" : "Permission denied" } Parameters: {|"collection": "AUTH_GROUP"|}

发现请求地址未包含'eletroinformaticabrasil'路径,推测是child()方法调用有误。

问题解决

最终确认两个问题:

  • 调用child()时传入多参数会忽略之前的子节点,需将'eletroinformaticabrasil'作为第一个参数;
  • 最初问题是忘记传递token参数。

感谢@FrankVanPuffelen提供的jwt.io工具帮助排查。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 03:55:07