API de inicio de sesión de Google: obtener foto Uri es nulo
Estaba usando la API de inicio de sesión de Google para solicitar el perfil de usuario, me gusta el nombre para mostrar del usuario, la foto del avatar. tengonulo valor GoogleSignInAccount.getPhotoUrl (), valor obtenido GoogleSignInAccount.getDisplayName ().
La cuenta de Gmail está bien, pero la cuenta privada no. la cuenta privada está vinculada a Google gmail, puede ver la imagen en mi cuenta de Gmail y en la aplicación de la tienda Google Play, Google plus también. pero por qué obtuve un valor nulo con el uso de la API de la cuenta de inicio de sesión de Google.
GoogleSignInOptions.Builder builder = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail();
builder.setAccountName(userAcc);
GoogleSignInOptions gso = builder.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this, 0, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
private void handleSignInResult(final GoogleSignInResult result) {
if (result.isSuccess()) {
if (getBaseContext() == null) {
return;
}
GoogleSignInAccount acct = result.getSignInAccount();
final String email = acct.getEmail();
final String displayName = acct.getDisplayName();
final Uri uri = acct.getPhotoUrl();
String sUri = null;
if (uri != null) {
sUri = uri.toString();
}
System.out.println("GoogleSignInAccount: getPhotoUrl: " + sUri);