Je reçois l'erreur
gettingdocuments.com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: autorisations manquantes ou insuffisantes.
pour le code ci-dessous sur une autre déclaration
db.collection("users")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (DocumentSnapshot document : task.getResult()) {
s(document.getId() + " => " + document.getData());
}
} else {
s("Error getting documents."+ task.getException());
}
}
});
Note: Ceci désactive complètement la sécurité pour la base de données, la rendant accessible en écriture pour tous sans authentification !!! Ce n'est pas une solution à recommander.
Cela fonctionne simplement pour moi.
Allez dans la base de données -> Règles ->
Changer allow read, write: if
false; à vrai;
assurez-vous que votre base de données n'est pas vide ni que votre requête concerne des collections qui n'existent pas
Aller à Base de données -> Règles :
Puis changé ci-dessous les règles
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
}
}
en dessous
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
En outre, vous pouvez obtenir cette erreur si la référence à la collection de votre code ne correspond pas au nom de la collection sur firebase.
Par exemple, le nom de la collection sur la base de feu est users
, mais vous le référencez avec db.collection("Users")
ou db.collection("user")
Il est également sensible à la casse.
J'espère que cela aide quelqu'un