Android 尽管有规则,Firebase权限仍被拒绝
我的数据库包含一个名为Android 尽管有规则,Firebase权限仍被拒绝,android,firebase,google-cloud-firestore,Android,Firebase,Google Cloud Firestore,我的数据库包含一个名为users的集合。此集合中的每个文档(用户)都包含一个字段昵称。我正在尝试让所有用户使用某个昵称: FirebaseDatabase.getInstance().getReference().child("users").orderByChild("nickname").equalTo(someNickname) 但我一直得到: Listen at /users failed: DatabaseError: Permission denied 因此,我使用一个简单的规则
users
的集合。此集合中的每个文档(用户)都包含一个字段昵称
。我正在尝试让所有用户使用某个昵称:
FirebaseDatabase.getInstance().getReference().child("users").orderByChild("nickname").equalTo(someNickname)
但我一直得到:
Listen at /users failed: DatabaseError: Permission denied
因此,我使用一个简单的规则将集合公开:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{user} {
allow read: if true;
allow create, write, delete: if false;
}
}
}
但是我仍然收到
权限被拒绝
消息。你知道为什么吗?你已经发布了firestore规则,但是你的代码说你在使用firebase realtime。您可能编辑了错误的规则,或者在代码中使用了错误的对象/类
下面的代码试图访问firebase实时数据库而不是firestore
FirebaseDatabase.getInstance().getReference().child("users").orderByChild("nickname").equalTo(someNickname);
如果您正在使用firestore,请检查访问firestore必须使用的类。您发布了firestore规则,但您的代码表明您使用firebase realtime。您可能编辑了错误的规则,或者在代码中使用了错误的对象/类
FirebaseDatabase.getInstance().getReference().child("users").orderByChild("nickname").equalTo(someNickname);
下面的代码试图访问firebase实时数据库而不是firestore
FirebaseDatabase.getInstance().getReference().child("users").orderByChild("nickname").equalTo(someNickname);
如果您正在使用firestore,请检查访问firestore必须使用的类。您还有其他规则吗?这个短语(这只是暂时的)是无效的。规则里也有吗?@ChrisPapantonis这就是一切。(这只是暂时的)事情就在这里。可能根本就不应该添加它。你还有其他规则吗?这个短语(这只是暂时的)是无效的。规则里也有吗?@ChrisPapantonis这就是一切。(这只是暂时的)事情就在这里。可能根本就不应该加上它
FirebaseDatabase.getInstance().getReference().child("users").orderByChild("nickname").equalTo(someNickname);