所以我注意到在Firebase控制台中,有一个名为“身份验证”的面板,其中包含一个用户列表。每个用户都有四条信息:标识符,提供者,创建者,登录者和用户UID。
我想知道在用户未登录的情况下,您是否可以通过编程方式访问此信息。
感谢。
答案 0 :(得分:0)
是的,您可以使用多种方法访问这些值。为了获得提供者,我建议您使用此代码:
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
for (UserInfo userInfo : firebaseUser.getProviderData()) {
if (userInfo.getProviderId().equals("facebook.com")) {
Log.d("TAG", "User is signed in with Facebook");
}
if (userInfo.getProviderId().equals("google.com")) {
Log.d("TAG", "User is signed in with Google");
}
}
}
还有其他非常有用的方法:getUid()
,getDisplayName()
,getEmail()
,getPhoneNumber()
等。请看一下official documentation。
作为此问题的结论,您无法调用其他方法来获取用户的电子邮件地址。您可以做些什么,您可以在users
中创建Firebase database
部分,存储您需要的所有数据,而不仅仅是查询它。
希望它有所帮助。
答案 1 :(得分:0)
我在文档中发现了以下内容: Documentation about admin.auth().listUsers(...)
https://firebase.google.com/docs/auth/admin/manage-users#list_all_users
admin.auth().listUsers(maxResults, pageToken);