aracılığıyla kullanıcının gmail e-posta adresi alınamıyor Firebase'i bir BaaS olarak kullanan bir uygulama geliştiriyorum.Firebase
Google Oturum Açmayı entegre ettim ve kullanıcının adını, e-posta adresini ve profil resmini getirmek istiyorum.
Adı ve profil resmini başarıyla aldım, ancak e-posta adresini alamıyorum.
İşte/* 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();
kullanıcı verilerinin getirmek için yapmış ne:: İşte
Google API istemcisi düzmecepublic 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();
}
}
başarıyla adı ve profil pic getirilen gelmiş Bu kod, ancak null
dönüyor e-posta adresi için.
Lütfen neyin yanlış gittiğini bana bildirin.
Bo'da anahtar olarak kullanılan "e-posta" dizesini iki kez kontrol edebilir misiniz? Firebase'e kaydederken ve getirdiğinizde ...? –
@DroidGEEK, o firebase'den getirilmiyor, Google'dan getiriliyor –
Kişi currentPerson = Plus.PeopleApi .getCurrentPerson (mGoogleApiClient); Dize kullanıcıName = currentPerson.getDisplayName(); Dize kişiPhotoUrl = currentPerson.getImage(). GetUrl(); Dize kullanıcıGooglePlusProfile = currentPerson.getUrl(); Dize e-postası = Artı.AccountApi.getAccountName (mGoogleApiClient); bunu nasıl alıyorum? –