我无法从我的颤振项目中访问我的 firebase/firecloud 数据。我得到:无法访问 Cloud Firestore 后端。连接失败 1 次

Posted

技术标签:

【中文标题】我无法从我的颤振项目中访问我的 firebase/firecloud 数据。我得到:无法访问 Cloud Firestore 后端。连接失败 1 次【英文标题】:I cannot access my firebase/firecloud data from my flutter project. I get: Could not reach Cloud Firestore backend. Connection failed 1 times 【发布时间】:2021-10-30 10:55:56 【问题描述】:

我已经被这个问题困扰了好几天了,我很难从我的 Flutter 项目中访问我的 Firebase 数据库。 我已按照所有说明在 Flutter 上将 Firebase 添加到 android 应用程序,并在网络上尝试了许多建议的解决方案,但我仍然卡住了。 我希望有人会耐心或善良地帮助我。 我已将所有必要的 sn-ps 放在下面。

我的依赖项

    dependencies:
      flutter:
        sdk: flutter
      google_maps_flutter: ^2.0.6
      proj4dart: ^2.0.0
      location: ^4.2.0
      cloud_firestore: ^2.5.1
      firebase_core: ^1.6.0

我的导入

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

我的 Firestore 结构

我从 firestore 检索数据的函数

  Future getControls() async
      await Firebase.initializeApp();

    FirebaseFirestore firestoreInstance = FirebaseFirestore.instance;

    QuerySnapshot data =  await firestoreInstance.collection('Controls').get();

  

收到错误

我的谷歌服务 JSON 文件

我的 Buld.gradle 文件

**

我可能做得不对,或者我遗漏了一些东西。能 有人请帮帮我....嗯。提前致谢

**

【问题讨论】:

【参考方案1】:

按照@Peter O 上面列出的说明进行操作后。

我将我的云火库的规则更改如下:

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

   
  

这解决了“权限被拒绝问题”

【讨论】:

【参考方案2】:
    首先在您的依赖项firebase_core: ^1.3.0 中包含firebase_core。 您发送的屏幕截图是 Firebase 实时数据库 (rtdb)。但是你想要达到的是云火库。您是否设置了云火库?通过转到firebase console 并单击左侧的云防火墙进行确认。检查它是否已设置以及“控件”集合中是否有任何数据。 转到您发布的“错误截图”中给出的链接并启用 Cloud Firestore api。

注意:Cloud firestore 和 Realtime 数据库是 2 个不同的 firebase 数据库。您可以访问此link 了解它们的差异并决定使用哪一个。

【讨论】:

哦,感谢您的更正。我已将 firebase_core 依赖项添加到我的项目中。我现在已经设置了一个 cloud firetore 数据库,并且我已经启用了 API。但是,我仍然收到类似的错误: Listen for Query(target=Query(controls order by name);limitType=LIMIT_TO_FIRST) failed: Statuscode=PERMISSION_DENIED, description=Missing or enough permissions., Cause=null 有什么好主意吗? 好的。我把firestore的规则改成:允许读,写; 太棒了。很高兴我能帮上忙。

以上是关于我无法从我的颤振项目中访问我的 firebase/firecloud 数据。我得到:无法访问 Cloud Firestore 后端。连接失败 1 次的主要内容,如果未能解决你的问题,请参考以下文章

将 Firebase 添加到颤振项目,破坏项目

如何使用颤振从firebase实时检索数据

将私有 api 密钥存储在颤振中

颤振问题中的 Firebase 实施

当我将 firebase_core 库添加到我的颤振项目并运行“颤振构建 ipa”时,我遇到了一个问题

Django/AngularJS:如何从我的 AngularJS 脚本访问我的 Python 上下文项