【发布时间】:2018-06-26 11:50:34
【问题描述】:
我正在尝试在 firebase 实时数据库 -> 规则 -> 模拟器上测试简单代码,但它无法读取。只是我正在尝试来自docs的这个简单代码
"JetonAlanlar" : {
".write": "auth != null && !root.child('Banned').hasChild(auth.uid)",
"Sorular":{
"Tarih":{
".read": "query.orderByKey && query.limitToFirst <=30"
},
}
},
这是模拟器运行代码:
/JetonAlanlar/Sorular/Tarih
模拟器说读取权限被拒绝。这个问题是模拟器还是 Firebase 实时数据库不支持基于查询的规则。
已编辑:
这是我在安卓应用中查询的代码
public class SorularFragmentYeni extends SoruAdaptor {
public SorularFragmentYeni() {}
@Override
public Query getQuery(DatabaseReference databaseReference) {
...
return databaseReference.child("JetonAlanlar/Sorular").child("Tarih");
}
}
还有
public abstract class SoruAdaptor extends Fragment implements RewardedVideoAdListener {
...
public abstract Query getQuery(DatabaseReference databaseReference);
}
【问题讨论】:
-
据我所知,您无法在模拟器中测试基于查询的规则。您必须在实际代码中对其进行测试。
-
不幸的是真机也给 Permission denied
-
在这种情况下,我建议您使用数据结构和用于查询数据库的代码更新您的问题,我会看看是否可以帮助您:)
-
我已经编辑了我的问题
-
是所有相关代码吗?我所看到的只是获取数据库参考。
标签: android firebase firebase-realtime-database firebase-security