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

Firebase实时数据库读取遇权限错误及区域不匹配问题

解决Firebase Realtime Database数据读取异常问题

核心问题分析

你遇到的两个错误中,数据库区域不匹配是导致连接失败的根本原因,权限提示大概率是连接中断后的误报——服务器强制断开连接,是因为代码使用的默认数据库URL和实际数据库所在区域不一致。

分步解决方案

1. 修正数据库URL配置

根据错误提示,你的数据库位于europe-west1区域,需要在代码中明确指定正确的数据库URL:

// 替换为错误提示中的实际数据库URL
final ref = FirebaseDatabase.instanceFor(
  databaseURL: "https://xxxx-rtdb.europe-west1.firebasedatabase.app"
).ref();
final snapshot = await ref.child('data').get();
if (snapshot.exists) {
  print(snapshot.value);
} else {
  print('No data available.');
}

同时检查google-services.json文件中的firebase_url字段,确认其值与上述URL一致,若不一致则替换为正确URL并重新同步到项目中。

2. 确认安全规则已生效

虽然你设置了开放读写权限,仍需确保规则已在Firebase控制台发布:

  • 登录Firebase控制台,进入Realtime Database页面
  • 切换到「规则」标签页,确认规则内容为:
    {
        "rules": {    
            ".read": true,
            ".write": true
        }
    }
    
  • 点击「发布」按钮,确保规则生效(若之前未发布,规则仍为默认的受限状态)

3. 重新测试读取功能

完成上述配置后,重新运行项目,此时数据库连接会正常建立,权限规则也会正确应用,即可读取data节点下的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:55:19