错误Firestore。 <异步暂停>

时间:2020-10-12 10:21:59

标签: firebase flutter dart google-cloud-firestore async-await

昨天(2020年10月12日),我的代码令人震惊。但是今天他写错了。

doc名称正确。 谢谢。

Future loadDataQuest() async {
  while (i < 10) {
    var fen = await FirebaseFirestore.instance
        .collection('questions')
        .doc(notSee[i])
        .get()
        .asStream()
        .map((DocumentSnapshot doc) => Quest.fromJson(doc.id, doc.data()))
        .toList();
    quest.add(fen[0]);
    i++;
  }
  print(quest);
}

错误:

W/Firestore(10953): (21.4.3) [Firestore]: Listen for Query(target=Query(questions/5WlbNnrXMCM8CNrnhBxl order by __name__);limitType=LIMIT_TO_FIRST) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
E/flutter (10953): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.

E/flutter (10953): #8      MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart)
E/flutter (10953): <asynchronous suspension>

1 个答案:

答案 0 :(得分:0)

Sai Gopi Me的真实答案

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

更改为此

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