【问题标题】:Firebase Database Permission denied on 2 root childFirebase 数据库权限在 2 个根子节点上被拒绝
【发布时间】:2020-07-28 14:05:15
【问题描述】:

有我的数据库规则:

    "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

我想通过从表格结果中循环像我的代码一样的快照来总结每个成员的分数:Structure of the database

【问题讨论】:

  • 发布包含数据库规则的整个文件。可能会有所帮助。

标签: android firebase firebase-realtime-database firebase-security


【解决方案1】:

试试这个规则

"Results" : {
  ".indexOn":["namaGroup"],
    ".read": true,
      ".write": "auth!=null",
},

希望这对您有所帮助随时要求澄清......

【讨论】:

  • 我已经编辑了我的帖子并包含了我的数据库结构,请帮我解决这个问题,伙计
  • @AgilWahyu 我认为你走错了路。数据位于Results/Ulangan 1/(key)。所以检查代码。
  • 天哪!谢谢,我已经解决了我的问题,我使用查询 firebase 来 orderbyChild
  • @AgilWahyu 好的。很高兴听到这个消息!
猜你喜欢
  • 2019-11-15
  • 2020-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-16
  • 2020-11-25
  • 2017-04-17
  • 2018-12-12
相关资源
最近更新 更多