[Android] Problema al recuperar datos de usuario Google+

Iniciado por DjFlo, 26 Abril 2013, 12:52 PM

0 Miembros y 1 Visitante están viendo este tema.

DjFlo

Saludos,

Tengo un problema muy extraño para recuperar los datos básicos del perfil de un usuario que se loguea en mi aplicación a través de Google+. Los datos en cuestión son nombre completo, fecha de nacimiento e ID. Y digo extraño porque lo curioso es que en ocasiones funciona y en otras no, arrojándome un NETWORK ERROR.

Tengo definido el constructor PlusClient:

mPlusClient = new PlusClient.Builder(this, this, this)
.setScopes(Scopes.PLUS_LOGIN, Scopes.PLUS_PROFILE)
.setVisibleActivities("http://schemas.google.com/AddActivity", "http://schemas.google.com/BuyActivity")
.build();


Cuando la activity se inicia:

@Override
protected void onStart(){
super.onStart();
mPlusClient.connect();
}


Y en el método onConnected(), una vez el usuario está conectado, llamo a un método para recuperar los datos que necesito de esta forma:

private void obtenerDatosUsuario()
{
mPlusClient.loadPerson(this, "me");

Person mePerson = mPlusClient.getCurrentPerson();

String idUser, nombreUser, urlfotoUser, urlperfilUser;
String descUser, fechaUser, sexoUser, idiomaUser;

emailUser = mPlusClient.getAccountName();

if(mePerson!=null)
{
idUser = mePerson.getId();
nombreUser = mePerson.getDisplayName();
urlfotoUser = mePerson.getImage().getUrl();
urlperfilUser = mePerson.getUrl();
descUser = mePerson.getAboutMe();
fechaUser = mePerson.getBirthday();
idiomaUser = mePerson.getLanguage();
}
}


En el manifest tengo los permisos necesarios establecidos:

<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />


El problema es que mPlusClient.getCurrentPerson() devuelve null según le da, lo que hace imposible recuperar ningún dato. Revisando el fallo, descubro que al intentar recuperar el Person falla devolviendo NETWORK_ERROR.

A network error occurred. Retrying should resolve the problem.
Constant Value: 7 (0x00000007)


He seguido el tutorial de Google para llegar hasta aquí (https://developers.google.com/+/mobile/android/people), previamente creando el proyecto de Google API (https://developers.google.com/+/mobile/android/getting-started)

Puedo recuperar el email sin problema, pero con esto estoy totalmente atascado.
It's time to let it go.