Firebase规则包括:
"rules": {
".read": true,
".write": true
}
代码
import 'package:flutter/material.dart';
import 'package:firebase_database/firebase_database.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
primarySwatch: Colors.red,
// This makes the visual density adapt to the platform that you run
// the app on. For desktop platforms, the controls will be smaller and
// closer together (more dense) than on mobile platforms.
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: FirebaseDemoScreen(),
);
}
}
class FirebaseDemoScreen extends StatelessWidget {
final databaseReference = FirebaseDatabase.instance.reference();
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appBar: AppBar(
title: Text('Firebase Connect'),
),
body: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
RaisedButton(
child: Text('Create Record'),
onPressed: () {
createRecord();
},
),
RaisedButton(
child: Text('View Record'),
onPressed: () {
getData();
},
),
RaisedButton(
child: Text('Update Record'),
onPressed: () {
updateData();
},
),
RaisedButton(
child: Text('Delete Record'),
onPressed: () {
deleteData();
},
),
],
)
), //center
);
}
void createRecord(){
databaseReference.child("1").set({
'title': 'Mastering EJB',
'description': 'Programming Guide for J2EE'
});
databaseReference.child("2").set({
'title': 'Flutter in Action',
'description': 'Complete Programming Guide to learn Flutter'
});
}
void getData(){
databaseReference.once().then((DataSnapshot snapshot) {
print('Data : ${snapshot.value}');
});
}
void updateData(){
databaseReference.child('1').update({
'description': 'J2EE complete Reference'
});
}
void deleteData(){
databaseReference.child('1').remove();
}
}
它会导致一个错误:
[错误:flatter/lib/ui/ui_dart_state.cc(166)]未处理的异常:PlatformException(-3,权限被拒绝,)E/flatter(31408):#0 StandardMethodCodec。解码信封(包:flatter/src/services/message_编解码器。dart:569:7)E/flatter(31408):#1个方法频道_invokeMethod(包:flatter/src/services/platform_channel.dart:159:18)E/flatter(31408):E/flatter(31408):#2方法频道。invokeMethod(包:flatter/src/services/platform_channel.dart:332:12)E/flatter(31408):#3数据库参考。套装(套装:firebase_database/src/database_reference.dart:74:31)E/Flatter(31408):#4 FirebaseDemoScreen。createRecord(软件包:learn/main.dart:77:32)E/flatter(31408):#5 FirebaseDemoScreen。建筑(套装:learn/main.飞镖:42:19)E/Flatter(31408):#6)_把手(包装:颤振/src/材料/墨水井。省道:953:19)E/颤振(31408):#7!。建筑(包装:flift/src/material/ink_well.省道:1059:38)E/flift(31408):#8手势识别器。invokeCallback(包:flatter/src/signatures/recognizer.dart:182:24)E/flatter(31408):#9 TapGestureCongnizer。handleTapUp(套装:flatter/src/signatures/tap.dart:522:11)E/flatter(31408):#10 BaseTapgestureRecognitor_检查(软件包:flatter/src/signatures/tap.dart:282:5)E/flatter(31408):#11 BaseTapgestureRecognitor。handlePrimaryPointer(软件包:flatter/src/signatures/tap.dart:217:7)E/flatter(31408):#12个PrimaryPointer检测识别器。handleEvent(套装:flatter/src/signities/recognizer.dart:475:9)E/flatter(31408):#13点外部_调度(程序包:flift/src/signities/pointer_router.dart:76:12)E/flift(31408):#14 pointer路由器_调度事件路由。(软件包:flatter/src/signities/pointer_router.dart:122:9)E/flatter(31408):#15_LinkedHashMapMixin。forEach(dart:collection patch/compact_hash.dart:377:8)E/flatter(31408):#16点外部_dispatchEventToRoutes(包:flatter/src/signities/pointer_router.dart:120:18)E/flatter(31408):#17 PointerRouter。路线(包:flift/src/signatures/pointer_router.dart:106:7)E/flift(31408):#18手势绑定。handleEvent(套装:flift/src/signatures/binding.dart:218:19)E/flift(31408):#19手势绑定。dispatchEvent(包:flatter/src/signatures/binding.dart:198:22)E/flatter(31408):#20个手势绑定_手指头事件(包装:flatter/src/signatures/binding.dart:156:7)E/flatter(31408):#21手势绑定_flushPointerEventQueue(包装:flift/src/signatures/binding.dart:102:7)E/flift(31408):#22手势绑定_handlePointerDataPacket(包:flatter/src/signatures/binding.dart:86:7)E/flatter(31408):#23 RootRunnary(dart:async/zone.dart:1206:13)E/flatter(31408):#24 CustomZone。一元(dart:async/zone.dart:1100:19)E/flatter(31408):#25#CustomZone。runUnaryGuarded(dart:async/zone.dart:1005:7)E/flatter(31408):#26_invoke1(dart:ui/hooks.dart:281:10)E/flatter(31408):#27#u dispatchPointerDataPacket(dart:ui/hooks.dart:190:5)
您可能正试图访问错误的地方检查数据库您正试图访问
https://github.com/firebase/quickstart-js/issues/239#issuecomment-417862631
https://github.com/firebase/quickstart-js/issues/239#issuecomment-465989989
如果前一个问题对你没有帮助,你可以参考这个问题获得更多答案
https://github.com/firebase/quickstart-js/issues/239
解决了我刚刚更新了Android Studio,然后我重新启动了一次使缓存无效并重新启动了Android Studio,现在它对我有效。
错误
plugin project :firebase_core_web not found
was仍然存在错误,但与firebase的数据库连接是使用相同的代码和firebase规则建立的。
将测试模式的规则设置为重试[1]:https://i.stack.imgur.com/Xeeis.png
我正试图按照Firebase的在线指南使用Firebase实时数据库,但由于我的许可被拒绝,我无法获得数据库的任何更新。我不确定我做错了什么。我甚至设定了阅读和写作的规则。 onClickListener内的代码如下: 这是在片段中,按钮在开始片段替换事务之前首先完成这些语句。 以下是Firebase中的规则: 由于我不熟悉JSON,我也尝试过在“.write”结尾加逗号 这是stacktrace
问题内容: 我对编码比较陌生,遇到了麻烦。 我有这段代码可以将数据发送到Firebase 但是,我不断收到错误: FIREBASE警告:设置为/ users /(GoogleID)失败:Permission_denied 2016-05-23 22:52:42.707 firebase.js:227未捕获(承诺)错误:PERMISSION_DENIED:权限被拒绝(…) 当我尝试查找时,它谈论的是
与firebase_ auth和firebase_。使用电子邮件和密码进行身份验证。这是用于身份验证和处理身份验证更改事件的代码提取。验证成功后,代码将用户信息插入实时数据库。如果数据库规则设置为读/写真,则一切正常。但是,使用标准数据库写入规则(auth!=null),应用程序抛出DatabaseError:权限被拒绝。数据库插件似乎不知道经过身份验证的身份?你知道怎么回事吗? 然后: 我已经写
我在Kotlin构建了一个应用程序,在节点中有一个后端。js。我允许用户在客户端应用程序上使用Firebase身份验证登录/注册。 该应用程序的部分功能是让用户通过Firebase的实时数据库在线保存数据。应用程序内部发生的事情是,一旦用户登录,我就会将他/她的uid传递到后端,后端会向数据库发出请求。 当数据库的规则是允许每个人读/写时,一切都正常工作。一旦我把它们改成这样: } 我一直被拒绝许
我一直在尝试使用数据库规则和通过CLI托管来创建一个基本上是公共的数据库,但有一些限制。如果我根据规则声明数据库已打开,我可以访问该数据库,但如果我从顶层删除读/写操作并尝试仅访问一个子“规则”,我会遇到权限错误: [2018-10-04T16:13:56.926Z]@firebase/database:firebase警告:设置为/2019/statistics/topTens/Strider
当我执行以下查询时: 我得到一个错误: Msg 262,级别14,状态1,第4行查看数据库“master”中的数据库状态权限被拒绝。Msg 297,16级,状态1,第4行用户没有执行此操作的权限。 但是,我能够使用(由SQLAzure门户提供的)管理员用户执行此查询。 我无法向我创建的任何用户授予主视图数据库状态(使用预配的管理员用户),我得到以下错误:授予者没有授予权限。 你知道如何执行查询吗