Sha*_*ram 1 android rules flutter google-cloud-firestore
我拥有我的 Flutter Android 应用程序的公共权限。
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试像这样查询数据时:
class MyHome extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Firestore App"),
centerTitle: true,
),
body: StreamBuilder(
stream: Firestore.instance.collection("mydata").snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) return CircularProgressIndicator();
return FirestoreListview(documents: snapshot.data.documents);
},
),
);
}
}
class FirestoreListview extends StatelessWidget {
final List<DocumentSnapshot> documents;
FirestoreListview({this.documents});
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: documents.length,
itemExtent: 90.0,
itemBuilder: (BuildContext context, int index){
String name = documents[index].data["title"].toString();
return Text(name);
},
);
}
}
Run Code Online (Sandbox Code Playgroud)
我明白了..
W/Firestore(12477): (0.6.6-dev) [Firestore]: Listen for Query(flutter_data) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
I/System.out(12477): com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: Missing or insufficient permissions.
Run Code Online (Sandbox Code Playgroud)
我尝试重新创建 Flutter 项目和 Firebase 应用程序,但仍然遇到同样的问题。使用相同的设置,我有一个工作的 Android 本机应用程序项目,但对于 flutter 来说它不起作用。自过去 5 个小时以来我一直在尝试,但我无法弄清楚实际问题是什么?
就我而言,这都是因为 Firebase 数据库规则配置。更改了我的测试的以下规则并开始工作。(不建议)
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在发布之前设置适当的权限来访问您的数据库。
| 归档时间: |
|
| 查看次数: |
8307 次 |
| 最近记录: |