从flutter应用程序到firebase的简单发布请求的最佳方法是啥?

Posted

技术标签:

【中文标题】从flutter应用程序到firebase的简单发布请求的最佳方法是啥?【英文标题】:What is the best way to do a simple post request from flutter app to firebase?从flutter应用程序到firebase的简单发布请求的最佳方法是什么? 【发布时间】:2019-08-17 01:05:57 【问题描述】:

我正在尝试从 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?

【问题讨论】:

Firebase Permission Denied的可能重复 你写的是post request。也许你错过了一些标题。 【参考方案1】:

设置权限


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

会工作的。

但是,最好的方法是使用 Firebase Auth 包对您的用户进行身份验证:Firebase_Auth package(即使您匿名登录),然后使用 Firebase_Database 包:Firebase_Database Package 加载数据即时的。

【讨论】:

【参考方案2】:

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


  "rules": 
    ".read": "auth != null",
    ".write": "auth != null"
  


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

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


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

您可以在 firebase 的数据库部分进行更改 -> 规则

感谢Firebase Permission Denied这个帖子,我得到了答案

【讨论】:

以上是关于从flutter应用程序到firebase的简单发布请求的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

将自定义数据从 Firebase 云消息传递控制台显示到 Flutter 应用程序?

Flutter - 将图像上传到 Firebase 存储

无法从 Flutter 中的 Firebase Firestore 返回列表

将图像从 Firebase 下载到 Flutter

从 Firebase 获取原始 JSON 到 Flutter

如何使用 http POST 方法将当前用户(使用应用程序的人)、Firebase Id 令牌从 Flutter 应用程序发送到 restapi?