Я разрабатываю приложение, использующее Firebase` как BaaS.Не удалось получить адрес электронной почты пользователя gmail через Firebase
У меня есть встроенная учетная запись Google, и я хочу получить имя пользователя, адрес электронной почты и профиль pic.
Я успешно выбрал имя и профиль pic, но я не могу получить адрес электронной почты.
Вот Google установки клиента API:
/* Setup the Google API object to allow Google+ logins */
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.build();
Вот что я сделал, чтобы получить данные пользователя:
public void fetchDataFromGoogle() {
if (authData != null) {
if (authData.getProvider().equals("google")) {
googleName = (String) authData.getProviderData().get("displayName");
googleEmail = (String) authData.getProviderData().get("email");
googleImage = (String) authData.getProviderData().get("profileImageURL");
}
} else {
Toast.makeText(getBaseContext(), "error", Toast.LENGTH_LONG).show();
}
}
Этот код успешно принес имя и фото профиля, но она возвращается null
для адреса электронной почты.
Пожалуйста, дайте мне знать, что здесь происходит.
Можете ли вы дважды проверить строку «email», используемую в качестве ключа на bo й, когда вы спасаете базу огня и когда вы ее извлекаете ...? –
@DroidGEEK он не получает его от firebase, он извлекает его из google –
Person currentPerson = Plus.PeopleApi .getCurrentPerson (mGoogleApiClient); Строка personName = currentPerson.GetDisplayName(); String personPhotoUrl = currentPerson.getImage(). GetUrl(); String personGooglePlusProfile = currentPerson.getUrl(); String email = Plus.AccountApi.getAccountName (mGoogleApiClient); его как я его получаю ... –