2012-01-24 13 views
5

Hola entusiasta de Android, estoy luchando para encontrar una solución a este problema. Estoy planeando acceder al Google Calendar y Google Documents del usuario (usando google-api-java-client-v1.6.0). Puedo acceder a la cuenta de Google del usuario a través de AccountManager pero no me equivoqué al solicitar authToken para autenticar al usuario por este motivo:cuenta única de Google authtoken para API múltiple de datos de Google en Android

¿Cómo puedo manejar múltiples solicitudes de authToken para Documentos y Cal en una sola actividad cuando el usuario confirma la aplicación para acceder a sus cuentas de Google?

En mi aplicación, Google Docs y Cal se encuentran en pestañas diferentes que se ejecutan en segundo plano en el momento en que el usuario permite el acceso a la cuenta del usuario.

cualquier tutorial de enlaces sería muy apreciado.

TYIA.

Respuesta

2

Si te interpreto correctamente, te preguntas cómo manejar el hecho de que necesitas un authToken para Calendar y un authToken para Documentos?

podría Buscando en algunas sample code for using the client libraries, haces algo como esto:

private final static String CAL_AUTH_TOKEN_TYPE = "cl"; 
private final static String DOCS_AUTH_TOKEN_TYPE = "writely"; // Not sure this is correct 

// This will ask the user for permissions the first time 
Bundle docsBundle = manager.getAuthToken(account, DOCS_AUTH_TOKEN_TYPE, true, null, null); 
Bundle calBundle = manager.getAuthToken(account, CAL_AUTH_TOKEN_TYPE, true, null, null); 

// Do whatever syncing you need 
doWork(docsBundle, calBundle); 

Al hacer esto la primera vez, el usuario recibirá un mensaje emergente que solicita el acceso a su calendario. Una vez que se aprueba, debe aparecer otra ventana emergente pidiendo permiso para los Documentos. Una vez que se otorga la aprobación, las ventanas emergentes nunca vuelven a aparecer (a menos que el usuario pueda volver a instalar su aplicación). Entonces no creo que deba preocuparse por nada. Solo asegúrese de intentar obtener authTokens por primera vez en su subproceso de interfaz de usuario y no en un proceso en segundo plano. En un proceso en segundo plano, no aparecerá una ventana emergente.

+0

gracias por compartir su visión, voy a hacer que este fragmento de código funcione – Ben

Cuestiones relacionadas