Firebase 数据库权限被拒绝,读/写权限设置为 true [英] Firebase Database Permission denied with read/write permissions set to true

查看:31
本文介绍了Firebase 数据库权限被拒绝,读/写权限设置为 true的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的简单 Android 应用中写入 Firebase 数据库时遇到问题.我已将我的数据库规则设置为公开:

I'm having trouble writing to my Firebase database in my simple Android app. I've set my database rules to be public:

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

创建一个简单的类Message:

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class Message {
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference dbRef = database.getReference();
    public String sender;
    public String message;

    public Message(){}

    public Message(String sender, String message) {
        this.sender = sender;
        this.message = message;
    }
}

并设置一个按钮来执行 onClick 方法 writeNewMessage,这些是重要的代码行:

And set a button to perform the onClick method writeNewMessage with these being the significant lines of code:

int counter = 0;

public void writeNewMessage(View view) {

        counter += 1;
        Message messageToWrite = new Message("John", "Simple message: " + counter);
        String messageId = String.valueOf(counter);

        dbRef.child("users").child(messageId).setValue(messageToWrite);
    }

运行时,我收到错误:

W/RepoOperation: setValue at /users/1 failed: DatabaseError: Permission denied

我知道这个问题看起来很简单并且可能会被重复,但是我还没有找到任何提出这个问题的问题,而他们的错误没有涉及到身份验证或其他一些组件.问题的简单性是最让我困惑的.

I know this question seems simple and likely to have been repeated, but I have yet to find any that asks this problem without having their error be involved in authentication or some other component. The simplicity of the problem is what confuses me the most.

我也发现了这个错误:

Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor"

推荐答案

您的 google-services.json 似乎有问题.

确保应用名称和客户端 ID 与 firebase 控制台中的相同.

Make sure app name and client id are same as in firebase console.

如果您不确定,请从项目的控制台重新下载 google-services.json 并将其添加到您的项目中.

If you are not sure re-download google-services.json from your project's console and add it your project.

这篇关于Firebase 数据库权限被拒绝,读/写权限设置为 true的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆