繁体   English   中英

Firebase 数据库权限在 2 个根子节点上被拒绝

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM