2013-03-03 12 views
5

Sto pianificando di scrivere un'app per Android per recuperare i file da Google Drive.GoogleAccountCredential fornisce un token di aggiornamento?

Se lo spazio di archiviazione è enorme, ci vorranno sicuramente ore per scaricare i file. In tal caso, avrei bisogno di un token di aggiornamento per completare il processo. Per quanto ne so, GoogleAccountCredential non fornisce alcun metodo per ottenere il token di aggiornamento.

Desidero inviare il token e aggiornare il token a un sito Web in modo che esso scarichi i file per conto della mia app e li memorizzi nel server.

C'è un modo per ottenere i token di aggiornamento da GoogleAccountCredential?

+0

si fa a trovato la soluzione? – tttony

risposta

0

Non so circa Android, ma in Java Se si desidera ottenere token di aggiornamento, è necessario richiedere GoogleAuthorizationaflow per offline tipo di accesso ..

come
flusso = new GoogleAuthorizationCodeFlow.Builder (httpTransport, jsonFactory, clientSecrets, SCOPES) .setAccessType ("offline"). SetApprovalPrompt ("force"). Build();

+0

Grazie per la risposta user2032988. Ma voglio utilizzare GoogleAccountCredential per recuperare il token in quanto funziona come un wrapper per GoogleAuthorizationCodeFlow e otterrò il token in due passaggi e davvero non voglio analizzare prima l'Authcode restituito e poi scambiarlo per access toke. – Manoj

0

Sì, lo fa. Hai bisogno di chiedere per un ambito lato server per ottenere l'aggiornamento-token:

String MY_SCOPE = ""; // put your score here, e.g. "https://www.googleapis.com/auth/gmail.readonly" 
String CLIENT_ID = "1234567890-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com"; 
String SERVER_SCOPE = "oauth2:server:client_id:" + CLIENT_ID + ":api_scope:" + MY_SCOPE; 

GoogleAccountCredential cred = new GoogleAccountCredential(context, SERVER_SCOPE).setSelectedAccountName("[email protected]"); 
cred.getToken();