После двух дней борьбы в прошлом этого поста спас мою жизнь .. How to get profile like gender from google signin in Android?
Но APIs устарело, сделал немного царапин голову и мог заставить его работать.
создать свой клиент API Google, как этот
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestScopes(new Scope(Scopes.PLUS_LOGIN))
.build();
m_GoogleApiClient = new GoogleApiClient.Builder(m_activity)
.enableAutoManage(m_activity, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.addApi(Plus.API)
.build();
затем на onActivityResult()
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
Log.d(TAG, "handleSignInResult:" + result.isSuccess());
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
fetchConnectedProfileInfo();
}
public void fetchConnectedProfileInfo()
{
Log.d(TAG, "fetchConnectedProfileInfo");
if (m_GoogleApiClient.hasConnectedApi(Plus.API)) {
Plus.PeopleApi.load(m_GoogleApiClient, "me").setResultCallback(this);
}
}
Приведи мою страницу GitHub для полного образца кода https://github.com/sandipsahoo2k2/social-login
Нет, я не хочу использовать этот GoogleSignInApi так как я должен извлечь другую информацию из gplus api. Так вы предлагаете называть оба api один за другим. Я думаю, что должен быть способ получить электронную почту от Person или GPlus Profile apis. – user2746732