Как получить настоящее имя (имя и фамилию) профиля Facebook, который вошел в систему с помощью Firebase? - PullRequest
0 голосов
/ 28 мая 2020

Как я могу получить настоящее имя и фамилию профиля Facebook, который вошел в систему с использованием аутентификации Firebase?

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);

1 Ответ

1 голос
/ 28 мая 2020

Этой информации нет в объекте 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.

...