Flutter Firestore权限被拒绝

问题描述 投票:0回答:1

我拥有Flutter Android App的公共权限。

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

但是当我尝试查询这样的数据时:

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);

      },
    );
  }
}

我明白了..

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.

我尝试重新创建Flutter项目和Firebase应用程序,但仍然遇到同样的问题。使用相同的设置,我有一个有效的Android原生App项目但是因为它不起作用。自从过去5个小时以来我一直在努力,但我无法弄清楚实际问题是什么?

android flutter google-cloud-firestore rules
1个回答
0
投票

在我的情况下,它全部是因为Firebase数据库规则配置。更改了以下规则以进行测试并开始工作。 (不建议)

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

在发布之前设置访问数据库的适当权限。

© www.soinside.com 2019 - 2024. All rights reserved.