简体   繁体   English

为什么我会收到数据库错误的错误:检索数据时权限被拒绝

[英]why am i getting this error of Database Error: Permission Denied while retrieving data

I am new to firebase Android and loving it.我是 Firebase Android 的新手并且喜欢它。 Before I was able to retrieve the data.在我能够检索数据之前。 But Now that I am trying to check whether the same data exist.但是现在我正在尝试检查是否存在相同的数据。 I am getting Database Error: Permission Denied.我收到数据库错误:权限被拒绝。

Firebase Rules: Firebase 规则:

    service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

Code代码

 @Override
public void onStart() {
    super.onStart();
    if(ref != null){
        ref.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                if(!dataSnapshot.getChildren().toString().isEmpty()){
                    list = new ArrayList<>();
                    for(DataSnapshot ds : dataSnapshot.getChildren()){

                        list.add(ds.getValue(Society_Address.class));

                    }

                    Adapter adapter = new Adapter(list);
                    rv_address.setAdapter(adapter);
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                Toast.makeText(getActivity(),databaseError.getMessage(),Toast.LENGTH_LONG).show();
            }
        });

You are using firebase real time database while the security rules in the question are for firestore.您正在使用 firebase 实时数据库,而问题中的安全规则适用于 firestore。

You need to change firebase realtime database security rules to the following:您需要将 firebase 实时数据库安全规则更改为以下内容:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM