gpt4 book ai didi

android - 读取数据时 Firebase 权限被拒绝

转载 作者:行者123 更新时间:2023-11-30 00:09:26 24 4
gpt4 key购买 nike

我正在尝试从 Firebase 实时数据库中读取一些数据,但每次尝试时,我都会收到数据库错误消息 Permission denied。这是我用来读取数据的代码。

    mAuth = FirebaseAuth.getInstance();
FirebaseUser currentUser = mAuth.getCurrentUser();
userId = currentUser.getUid();

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

for (DataSnapshot ds : dataSnapshot.getChildren()) {
User user = new User();
user.setFullName(ds.child("users").child(userId).getValue(User.class).getFullName());
user.setEmail(ds.child("users").child(userId).getValue(User.class).getEmail());
Log.i("info", " User Full name" + user.getFullName());
userFullName.setText(user.getFullName());
userEmail.setText(user.getEmail());
}

}

@Override
public void onCancelled(DatabaseError databaseError) {
Log.i("Info", "" + databaseError.getMessage());
}

});

这些也是我的数据库规则

  {
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}

这也是数据库中的数据。 enter image description here

我试图做什么? - 我做了两件事,首先我将数据库规则设置为公开,但这对我不起作用,我做的第二件事是没有使用 addValueEventListener 我使用了 addChildEventListener但这也没有用。

因此,如果有人知道我在哪里犯了错误,请与我分享。

提前致谢。

最佳答案

你的数据库规则是正确的,问题出在数据库读取代码上。你可以直接设置DatabaseReference/users/<userId> , 然后直接转换 DataSnapshotUser 的值(value)类。

代码如下:

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("users").child(userId);
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);

userFullName.setText(user.getFullName());
userEmail.setText(user.getEmail());
}

@Override
public void onCancelled(DatabaseError databaseError) {
}
});

希望这有帮助:)

关于android - 读取数据时 Firebase 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48385970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com