Saya mendapatkan Error
Gettingdocuments.com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: Izin tidak ada atau tidak memadai.
untuk kode di bawah ini pada pernyataan lain
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());
}
}
});
android
firebase
google-cloud-firestore
S Rekhu
sumber
sumber
Jawaban:
Ini bekerja untuk saya.
Masuk ke Database -> Rules ->
Ubah
allow read, write: if
salah; untuk benar;sumber
Pergi ke Database -> Rules :
Kemudian diubah di bawah aturan
ke bawah
sumber
Jadi dalam kasus saya, saya memiliki aturan DB berikut:
Seperti yang Anda lihat, ada
uid
bidang distory
dokumen untuk menandai pemiliknya.Kemudian di kode saya, saya menanyakan semua cerita (Flutter):
Dan itu gagal karena saya telah menambahkan beberapa cerita melalui pengguna yang berbeda. Untuk memperbaikinya Anda perlu menambahkan kondisi ke kueri:
Detail selengkapnya ada di sini: https://firebase.google.com/docs/firestore/security/rules-query
EDIT: dari link
sumber
Jawaban yang dipilih di atas berbahaya bagi kesehatan database Anda. Anda masih dapat membuat database Anda tersedia hanya untuk membaca dan bukan untuk menulis:
sumber
Jika Anda coba di Aplikasi Java Swing.
Go To
Firebase Console
>Project Overview
>Project Settings
Kemudian Pergi ke Tab Akun Layanan dan Kemudian Klik Hasilkan Kunci Pribadi Baru.
Anda akan mendapatkan file .json, letakkan di jalur yang diketahui
Kemudian Pergi ke Properti Komputer Saya, Pengaturan Sistem Lanjutan, Variabel Lingkungan.
Buat
GOOGLE_APPLICATION_CREDENTIALS
Nilai Variabel Jalur Baru dengan jalur Anda ke file json.sumber
npm i --simpan firebase @ angular / fire
di app.module pastikan Anda mengimpor
dalam impor
dalam aturan database realtime pastikan Anda memilikinya
dalam aturan firestore cloud, pastikan Anda memilikinya
sumber
pastikan DB Anda tidak kosong atau kueri Anda untuk koleksi yang tidak ada
sumber
Selain itu, Anda mungkin mendapatkan kesalahan ini jika referensi koleksi dari kode Anda tidak cocok dengan nama koleksi di firebase.
Misalnya nama koleksi di firebase adalah
users
, tetapi Anda mereferensikannya dengandb.collection("Users")
ataudb.collection("user")
Ini juga peka huruf besar / kecil.
Semoga ini bisa membantu seseorang
sumber
add
atauset
permintaan, tetapi dari pertanyaan itu adalahget
permintaan. Saya pernah mengalami ini sebelumnyaPeriksa apakah akun layanan ditambahkan di
IAM & Admin
https://console.cloud.google.com/iam-admin/iam dengan peran yang sesuai seperti Editorsumber
Jika seseorang mendarat di sini mencoba mengakses Firestore dengan akun layanan:
Saya memecahkan masalah ini dengan memberikan
Service Account User
peran pada akun layanan selainCloud Datastore User
peran dalam setelan IAM GCP.sumber
Saat ini, Juni 2020, secara default firebase ditentukan oleh waktu. Tentukan waktu untuk memenuhi kebutuhan Anda.
Harap diperhatikan: DB Anda masih terbuka untuk siapa saja. Saya sarankan, silakan baca dokumentasi dan konfigurasikan DB dengan cara yang berguna bagi Anda.
sumber
masalahnya adalah Anda mencoba membaca atau menulis data ke database realtime atau firestore sebelum pengguna diautentikasi. coba periksa cakupan kode Anda. semoga membantu!
sumber
Saya mengalami kesalahan ini dengan Firebase Admin, solusinya adalah mengonfigurasi Firebase Admin dengan benar mengikuti tautan ini
sumber
Bagi saya itu masalah dengan tanggal. Memperbarui dan masalah telah teratasi.
Izinkan baca / tulis:
Edit: Jika Anda masih bingung dan tidak dapat mencari tahu apa masalahnya, lihat saja bagian aturan di konsol firebase Anda.
sumber
batas waktu mungkin berakhir
ada perubahan tanggal untuk saat ini di baris ini:
sumber
https://console.firebase.google.com
Kembangkan -> Database -> Rules -> set read, write -> true
sumber
Aturan Anda harus seperti ini untuk kasus ini namun pesan mengatakan bahwa itu bukan cara yang disarankan, tetapi jika Anda melakukan ini, Anda dapat melakukan penyisipan tanpa kesalahan izin
sumber