我正在開發一款使用Firebase作爲BaaS的應用。無法通過Firebase獲取用戶的gmail電子郵件地址
我已經集成了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();
}
}
該代碼已成功獲取的姓名和個人資料PIC,但它返回null
爲電子郵件地址。
請讓我知道這裏發生了什麼問題。
您是否可以仔細檢查用作博客鍵的「email」字符串當你保存到firebase和當你正在提取...? –
@DroidGEEK他沒有從firebase中獲取它,他從google中獲取它 –
Person currentPerson = Plus.PeopleApi .getCurrentPerson(mGoogleApiClient); String personName = currentPerson。getDisplayName(); String personPhotoUrl = currentPerson.getImage()。getUrl(); String personGooglePlusProfile = currentPerson.getUrl(); String email = Plus.AccountApi.getAccountName(mGoogleApiClient); 它是如何獲取它... –