如何从uid Firebase数据库获取电子邮件地址?

时间:2018-12-17 19:34:40

标签: java android firebase firebase-realtime-database

我需要从一个用户(不是当前用户)的uid获取电子邮件地址。我的数据库有一个称为“用户”的孩子,而这个数据库有一个孩子,哪些键是所有用户的uid。我需要按其他用户的uid获取其他用户的电子邮件地址。

Look the database structure

String uidReceiver = "B53Bk4dtHjZ6a3ZjoO2cEowEf4w2";
DatabaseReference usersRef;
usersRef = FirebaseDatabase.getInstance().getReference().child("users");

// To get the email address of the current user
FirebaseUser userSender = FirebaseAuth.getInstance().getCurrentUser();
String emailSender = userSender.getEmail();    

usersRef.child(uidReceiver).addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    if (dataSnapshot.exists()) 
                    {
                        // How can I get the email address of uidReceiver
                    }
                }

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

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您要使用自己的uid从FirebaseAuth获取用户的电子邮件,则无法从android客户端获取。只有Firebase管理员可以从FirebaseAuth获取用户的电子邮件,而android sdk没有管理员权限。您需要将电子邮件添加到Firebase数据库中,以获取所需用户的电子邮件。