Firebase中出现“读取失败:权限被拒绝”错误。

6

我正在跟随这个链接中的教程,在Android上使用Firebase。我只是想在Firebase中添加一个名称和地址,并在应用程序中反映出添加的名称。我尝试了一下,但当我运行代码时,就出现了错误。

"The read failed: Permission denied error "

我这里没有添加任何许可权限,并且目前不希望加入任何限制。我只想让所有用户都可以访问。如何实现并需要做哪些步骤?请帮忙,我是新手。任何帮助都将不胜感激。


@Aunsha,编译时使用的API版本是哪个? - Sohail Zahid
1个回答

15

该教程是针对“遗留”Firebase网站www.firebase.com创建的。在那里创建项目时,默认情况下可以被任何人读写。

我猜你是在新版Firebase控制台上创建了你的项目。在那里,项目默认只能由已认证用户进行读写。

目前最简单的解决方法(直到教程更新)是进入控制台中的数据库面板,选择规则选项卡,并使用以下规则替换其内容:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

这将使您的新数据库像旧版Firebase一样可以被所有人读写。在完成教程后,请务必再次保护您的数据库,否则有人可能会开始滥用它。


一个更好、更安全的方法是启用匿名身份验证 - webjunkie
我进行匿名认证,但不幸的是,在使用“ondatachange”方法和“auth!= null”规则评估数据库时,仅在生产APK的第一次运行中出现“权限被拒绝”的消息。后续运行正常。不想要求玩家在第一次游戏时重新启动应用程序,因此不得不将规则保留为不安全的“true”状态。有什么建议吗? - Androidcoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接