使用Pyrebase4操作Firebase数据库访问devices节点报404错误如何解决
Pyrebase4 调用实时数据库返回404错误解决方法
核心问题是配置文件中的databaseURL参数填写错误,你填入的是Firebase静态托管服务的域名,并非实时数据库的专属访问域名,按照以下步骤修复即可:
第一步:修正databaseURL配置
进入Firebase控制台的「实时数据库」管理页,复制官方提供的数据库地址,格式为以下两类(后缀随你选择的数据库部署区域变化):- 新版区域化数据库:
https://<你的项目ID>.default-rtdb.<区域标识>.firebasedatabase.app - 旧版美国区数据库:
https://<你的项目ID>.firebaseio.com
替换掉你当前config里"https://<project id>.firebaseapp.com"的错误配置。
- 新版区域化数据库:
第二步:校验数据库读写权限
修正URL后如果仍然报错,检查实时数据库的安全规则是否放开了对应路径的读写权限,测试阶段可以临时使用以下规则验证功能:{ "rules": { ".read": true, ".write": true } }功能验证通过后请及时调整规则为最小权限原则,避免数据泄露。
第三步:确认数据操作路径逻辑
你当前的update操作是直接修改devices根节点的字段,如果你的业务逻辑是修改指定UUID对应设备的字段,需要补充child参数,代码如下:self.db.child("devices").child(uuid).update({"passwords": [], "can_open": "false", "state": self.state.value})直接对
devices根节点调用update会覆盖所有子设备的对应字段,不符合绝大多数业务场景。
内容的提问来源于stack exchange,提问作者Emmanuel
相关产品推荐
相关产品推荐

