如何检索使用 Firebase 身份验证登录的 Facebook 个人资料的真实名字和姓氏?
mAuth = FirebaseAuth.getInstance();
fullNameTextView.setText(mAuth.getCurrentUser().getDisplayName());
userNameTextView.setText(mAuth.getCurrentUser().getDisplayName());
Picasso.get().load(mAuth.getCurrentUser().getPhotoUrl()).placeholder(R.drawable.ic_action_profile).into(profilePictureImageView);
该信息在FirebaseUser
对象中不存在。要解决此问题,您应该首先获取提供商列表并找到您感兴趣的提供商。因此,请检查以下代码行:
FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
List<? extends UserInfo> userInfoList = firebaseUser.getProviderData();
for (UserInfo userInfo : userInfoList) {
String providerId = userInfo.getProviderId();
if (providerId.equals(FacebookAuthProvider.PROVIDER_ID)) {
String name = userInfo.getDisplayName();
Log.d("TAG", name);
}
}
logcat 中的结果将是已使用 Facebook 进行身份验证的用户的名称。