Flutter: I/ Flutter (8345): [cloud_firestore/permission-deni



我想访问数据从我的firebase显示在我的应用程序。我一直在这个应用程序与firebase工作了几天,但今天我得到了一个错误的说我的代码:

StreamBuilder<QuerySnapshot>(
stream:
FirebaseFirestore.instance.collection('videos').snapshots(),
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasError) {
return Text('Something went wrong!');
}
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(child: CircularProgressIndicator());
}
return ListView(
shrinkWrap: true,
physics: ClampingScrollPhysics(),
children:
snapshot.data!.docs.map((DocumentSnapshot document) {
Map<String, dynamic> data =
document.data()! as Map<String, dynamic>;
return GestureDetector(
onTap: () {},
child: HomeDisplayScreen(
videoLink: data['videoLink'],
imageUrl: data['imageUrl'],
title: data['title'],
likes: data['likes'],
),
);
}).toList(),
);
})

错误:

W/Firestore( 8345): (24.1.2) [Firestore]: Listen for Query(target=Query(videos order by __name__);limitType=LIMIT_TO_FIRST) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
W/Firestore( 8345): (24.1.2) [Firestore]: Listen for Query(target=Query(users/*****@gmail.com order by __name__);limitType=LIMIT_TO_FIRST) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
I/flutter ( 8345): [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.

我还把我的安全规则改成了

rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write : if true;
}
}
}

仍然,我得到相同的错误

我不知道你是否已经修复了你的问题,但是你得到的错误,是因为你的Firestore规则,所以要修复它,进入Firestore规则并更改它们

projectFolder/android/app/src/main/AndroidManifest.xml中尝试添加以下内容并重建您的应用程序:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

最新更新