【问题标题】:Unable to write into Firebase database无法写入 Firebase 数据库
【发布时间】:2022-02-16 14:36:23
【问题描述】:

我无法将数据写入实时数据库! 我在 pubspec.yaml 中添加了以下依赖项 编辑:我添加了控制台日志

dependencies:
  cloud_firestore: ^2.5.1
  cupertino_icons: ^1.0.2
  firebase_auth: ^3.1.0
  firebase_core: ^1.6.0
  firebase_database: ^ 7.0.0
  flutter:
    sdk: flutter
  fluttertoast: ^8.0.8

我还添加了正确的 google.json 文件。 (我已经完成了身份验证)。用于读取和写入的 Firebase 数据库规则均设置为 true。

我的代码如下:


class AddItem extends StatelessWidget{
  AddItem({Key? key}) : super(key: key);
   final database = FirebaseDatabase.instance.reference();
  @override
  Widget build(BuildContext context){
    final location = database.child('/S2.2');
    
    return Scaffold(
        body:Column(
      children: [
        TextFormField(
          decoration: const InputDecoration(
            border: UnderlineInputBorder(),
            labelText: 'Product name',
          ),
        ),
        TextFormField(
          decoration: const InputDecoration(
            border: UnderlineInputBorder(),
            labelText: 'Expiration Date',
          ),
        ),
        TextFormField(
          decoration: const InputDecoration(
            border: UnderlineInputBorder(),
            labelText: 'Current Date',
          ),
        ),
        TextFormField(
          decoration: const InputDecoration(
            border: UnderlineInputBorder(),
            labelText: 'Quantity',
          ),
        ),
        ElevatedButton(
          child: const Text('Save'),
          onPressed: () async {
              location.set({'hi'
              });

          },
        ),

      ],

    ),
    );
  }

}

控制台显示:

W/Firestore(6723): (24.0.1) [WriteStream]: (6db7a1c) Stream closed with status: Status{code=PERMISSION_DENIED, description=Cloud Firestore API 之前未在项目 966701182638 中使用或已禁用.通过访问https://console.developers.google.com/apis/api/firestore.googleapis.com/overview?project=966701182638 启用它,然后重试。如果您最近启用了此 API,请等待几分钟让该操作传播到我们的系统并重试。cause=null}。

编辑:

我已启用 API。并且控制台不再显示任何错误。我正在使用 Firebase 实时数据库。 一旦我单击“保存按钮”,“S2.2”的子级应该从根形成,然后是“hi”的另一个子级。怎么了?

编辑 2:

按下保存按钮后,即设置数据库中的数据。控制台显示:

E/flutter (19417): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Invalid argument: LinkedHashSet len:1

控制台也显示


 DatabaseReference.set (package:firebase_database/src/database_reference.dart:72:39)

非常感谢任何帮助

【问题讨论】:

  • 请提供您尝试将数据发送到 Firestore 的脚本或提供控制台日志,否则我们无法提供帮助
  • 日志告诉你点击哪个链接并启用它
  • @FransiTsena 有一个很好的观点:您共享的代码仅访问实时数据库,而错误消息与 Firestore 有关。虽然这两个数据库都是 Firebase 的一部分,但它们是完全独立的。我在下面写了一个答案,假设您正在在代码中的其他地方调用 Firestore API,但如果不是这样,请告诉我。

标签: firebase flutter firebase-realtime-database


【解决方案1】:

您项目中的 Firestore API 似乎已完全禁用,这意味着您无法从 Flutter 应用或其他任何地方访问它。

如果您点击错误消息中的链接,它会将您带到 Google Cloud 控制台中的某个位置,您可以在其中启用它。如果您无权执行此项目,则必须联系其中一位项目管理员。

【讨论】:

  • 您好,我启用了API,但仍然无法将数据发送到实时数据库中
猜你喜欢
  • 1970-01-01
  • 2017-05-07
  • 2018-07-22
  • 1970-01-01
  • 2018-05-08
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多