我正在尝试从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?
答案 0 :(得分:0)
答案很简单。我不了解Firebase实时数据库的默认版本。默认权限为:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
{
"rules": {
".read": true,
".write": true
}
}
但是,如果我想在开发期间尝试执行http请求,可以将权限更改为:
{
"rules": {
".read": true,
".write": true
}
}
您可以在firebase的“数据库”部分->规则中更改
答案 1 :(得分:0)
设置权限
{
"rules": {
".read": true,
".write": true
}
}
会工作。
不过,最好的方法是使用Firebase Auth软件包对用户进行身份验证:Firebase_Auth package(即使您以匿名方式登录),然后使用Firebase_Database软件包:Firebase_Database Package实时加载数据。