如何检索使用 Firebase 登录的 Facebook 个人资料的真实姓名(姓名和姓氏)?

How to retrieve the real name (Name and surname) of a Facebook profile that signed in with Firebase?

如何检索使用 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 进行身份验证的用户的姓名。