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

标签 java android firebase firebase-realtime-database

我需要从一个用户(不是当前用户)的uid 获取电子邮件地址。我的数据库有一个名为“users”的子级,而这个数据库的子级的键是所有用户的 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) {}
            });

谢谢!

最佳答案

如果您的意思是您想使用用户的 uid 从 FirebaseAuth 获取用户的电子邮件,那么这是不可能从 Android 客户端获取的。只有Firebase管理员可以从FirebaseAuth获取用户的电子邮件,并且android sdk没有管理员权限。您需要将电子邮件添加到 Firebase 数据库才能获取所需用户的电子邮件。

关于java - 如何从uid Firebase数据库获取电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53821902/

相关文章:

JAVA 时区问题 EDT 与 EST

android - 在android studio中重命名根模块

java - 带有 Spring 5 的响应式(Reactive) WebSockets - 如何获取初始消息

java - 使用环境变量填充 @ConfigurationProperties 中的 Map

java - 将 InputStream 读取为 UTF-8

android - 获取完整的 html div 文本

android - 在 Nexus 7 平板电脑中打开相机

android - 应用程序在前台时收到的推送通知与应用程序在后台时收到的推送通知不同

firebase - 找不到插件项目:firebase_core_web

java - OTP 未从 firebase 代码中获取是正确的