2012-01-24 9 views
5

Ciao appassionato di Android, sto faticando a trovare una soluzione a questo problema. Sto pianificando di accedere a Google Calendar e Google Documenti dell'utente (utilizzando google-api-java-client-v1.6.0). Posso accedere all'account Google dell'utente tramite AccountManager, ma non ho sbagliato a richiedere authToken per autenticare l'utente per questo motivo:authtoken account google singolo per più API di dati di Google in Android

Come gestirò più richieste authToken per Documenti e Cal in una singola attività quando l'utente conferma l'applicazione per accedere ai suoi account Google?

Nella mia applicazione, Google Docs e Cal sono su diverse schede in esecuzione su sfondo nel momento in cui l'utente consente l'accesso dell'account dell'utente.

qualsiasi tutorial di collegamento sarebbe molto apprezzato.

TYIA.

risposta

2

Se interpreto correttamente, voi si stanno chiedendo come gestire il fatto che avete bisogno di uno authToken per il calendario, e uno authToken per Documenti?

Guardando alcune sample code for using the client libraries, si potrebbe fare qualcosa di simile:

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); 

Quando si esegue questa operazione per la prima volta, l'utente otterrà un popup che richiede l'accesso al suo calendario. Una volta approvato, dovrebbe apparire un altro popup che richiede il permesso per Documenti. Dopo l'approvazione, i popup non appaiono più (a meno che l'utente non reinstalli la tua app). Quindi non penso che tu debba preoccuparti di nulla. Assicurati di provare ad ottenere authTokens la prima volta nel tuo thread UI e non in un processo in background. In un processo in background, una finestra popup non apparirà.

+0

Grazie per aver condiviso la tua conoscenza, sto andando a rendere questo frammento di codice ha funzionato – Ben

Problemi correlati