elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [Android] Problema al recuperar datos de usuario Google+
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Android] Problema al recuperar datos de usuario Google+  (Leído 3,350 veces)
DjFlo

Desconectado Desconectado

Mensajes: 101


Take care


Ver Perfil WWW
[Android] Problema al recuperar datos de usuario Google+
« en: 26 Abril 2013, 12:52 pm »

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:

Código:
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:

Código:
@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:

Código:
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:

Código:
<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.

Código:
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.


En línea

It's time to let it go.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines