[英]Firebase Database Permission denied on 2 root child
有我的数据库规则:
"Results" : {
".indexOn":["namaGroup"],
".read": "auth != null",
".write": "auth !=null",
},
这是我的代码:
private void updateScore(final String namaGroup, final RankingCallback<Ranking> callback) {
questionScore = FirebaseDatabase.getInstance().getReference();
final DatabaseReference ref1= questionScore.child("Results");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot ds:snapshot.getChildren()) {
String key = ds.getKey();
DatabaseReference ref = questionScore.child(key);
ref.orderByChild("namaGroup").equalTo(namaGroup);
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot ds : snapshot.getChildren()) {
GroupScore ques = ds.getValue(GroupScore.class);
sum += Integer.parseInt(String.valueOf(Objects.requireNonNull(ques).getScore()));
}
Ranking ranking = new Ranking(namaGroup, sum);
callback.callBack(ranking);
Log.d("TAG", ranking.getNamaGroup());
Log.d("TAG", String.valueOf(ranking.getScore()));
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
};
ref.addListenerForSingleValueEvent(eventListener);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
};
ref1.addListenerForSingleValueEvent(valueEventListener);
我收到下一个错误作为警告日志: DatabaseError: Permission denied 。
我想通过像我的代码一样从表结果中循环快照来总结每个成员的分数:数据库结构
试试这个规则
"Results" : {
".indexOn":["namaGroup"],
".read": true,
".write": "auth!=null",
},
希望这有助于随时要求澄清...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.