【发布时间】:2022-01-16 02:22:49
【问题描述】:
我能够从 Firestore 模拟器读取数据,但无法通过客户端(这是一个 android 应用程序)向其中添加任何数据。
这是错误:
W/Firestore: (24.0.0) [Firestore]: Write failed at Users/vBLloPGsMJrXGDZdZcVO: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
我在本地环境中的 firestore.rules 文件
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
这是用于写入firestore的代码
FirebaseFirestore.getInstance().collection("Users")
.document(userId)
.set(newUser)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
Log.d(TAG, "new user has been added");
}else {
Log.d(TAG, "Failed to add new user"+Objects.requireNonNull(task.getException()).getMessage());
}
}
});
【问题讨论】:
-
根据security rules,您的代码似乎没有足够的权限写入数据库。
-
我已经展示了我的 firestore.rules 文件
-
请在问题中添加您用于写入 firestore 的代码
标签: android google-cloud-firestore firebase-security firebase-tools