我正在尝试从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?
设置权限
{
"rules": {
".read": true,
".write": true
}
}
会工作。
但是,执行此操作的最佳方法是使用Firebase Auth软件包对用户进行身份验证:Firebase_Auth package(即使您匿名签名),然后使用Firebase_Database软件包:Firebase_Database Package实时加载数据。
答案很简单。我不知道firebase的实时数据库的默认权限。默认权限是:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
{
"rules": {
".read": true,
".write": true
}
}
但是如果我想在开发时尝试做http请求,我可以将权限更改为:
{
"rules": {
".read": true,
".write": true
}
}
您可以在firebase - > rules的数据库部分中更改此设置
由于这篇文章Firebase Permission Denied,我得到了答案