从flutter app到firebase执行简单发布请求的最佳方法是什么?

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

我正在尝试从flutter应用程序到firebase数据库执行简单的发布请求。这是我的代码:

child: RaisedButton(
  child:Text('A firebase'),
  textColor: Colors.blueGrey,
  onPressed: () {
    var url = "https://gip-reports.firebaseio.com/reporte.json";
    http.post(url, body: {"name": "doodle", "color": "blue"})
      .then((response) {
         print("Response status: ${response.statusCode}");
         print("Response body: ${response.body}");
       });
  },
),

问题是,当我使用此代码时,cmd显示此错误:

I/flutter (16602): Response status: 401
I/flutter (16602): Response body: {
I/flutter (16602):   "error" : "Permission denied"
I/flutter (16602): }

如何让我的应用程序发布到firebase?

http firebase-realtime-database flutter
2个回答
0
投票

设置权限

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

会工作。

但是,执行此操作的最佳方法是使用Firebase Auth软件包对用户进行身份验证:Firebase_Auth package(即使您匿名签名),然后使用Firebase_Database软件包:Firebase_Database Package实时加载数据。


0
投票

答案很简单。我不知道firebase的实时数据库的默认权限。默认权限是:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}
{
  "rules": {
    ".read": true,
    ".write": true
  }
}

但是如果我想在开发时尝试做http请求,我可以将权限更改为:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

您可以在firebase - > rules的数据库部分中更改此设置

由于这篇文章Firebase Permission Denied,我得到了答案

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