【发布时间】:2021-06-22 20:17:47
【问题描述】:
我相信我的安全规则和代码是正确的,但是当我尝试从用户文档中检索时,我在 Android Studio 中遇到了权限错误...
这是我的 Android java 代码中的 Get User Profile 方法:
public void getUserProfile(){
db.collection("users")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull com.google.android.gms.tasks.Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
String displayName = document.getString("DisplayName");
String userEmail = user.getEmail();
}
} else {
Log.w("DEBUG_FirestoreActivity", "Error getting documents.", task.getException());
}
}
});
}
...这就是我的安全规则的设置方式:
match /users/{userId} {
allow read, write: if request.auth != null && request.auth.uid == userId;}
这是我在 android studio 中收到的错误的输出:
com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: 权限缺失或不足。
奇怪的是,一切都应该工作,我已经用规则游乐场测试了它。
【问题讨论】:
-
这是我在 android studio 中收到的错误输出:com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: Missing or enough permissions。
-
请不要在 cmets 中添加额外的信息。你的问题下面有一个编辑链接,所以你可以在那里添加它(就像我刚刚做的那样)。
标签: java android google-cloud-firestore firebase-security