È necessario revocare il token di programmazione. Innanzitutto, prova l'app di esempio pubblicata su: https://developers.google.com/drive/quickstart-android
Questa app di esempio visualizza la finestra di dialogo per consentire di selezionare un account, quindi scattare una foto e caricarla su Google Drive. Una cosa importante che ho scoperto è che questa app di esempio alla fine fallirà. Ho scoperto che la parte della fotocamera dell'app causa arresti anomali. Quindi, disabilita la parte della telecamera del codice e sostituisci semplicemente il file con un file su una scheda SD e carica il file su Drive.
di revocare l'autorizzazione a utilizzare Drive, è necessario eseguire il seguente codice:
String token = credential.getToken();
HttpRequestFactory factory = HTTP_TRANSPORT.createRequestFactory();
GoogleUrl url = new GoogleUrl("https://accounts.google.com/o/oauth2/revoke?token=" + token);
HttpRequest request = factory.buildGetRequest(url);
HttpResponse response = request.execute();
Consultare il codice di esempio su come accedere alla variabile credenziale. Inoltre, è necessario eseguire il codice sopra in un thread che non si trova sul thread principale, altrimenti fallirà.
È inoltre necessario aggiungere le seguenti autorizzazioni. Il codice di esempio non riesce ad indicare queste autorizzazioni e senza di loro l'applicazione andrà in crash:
<uses-permission android:name="android.permission.ACCOUNT_MANAGER" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
Se Eclipse lamenta che alcune di queste autorizzazioni vengono concesse solo per il sistema, basta eseguire Clean Progetto e sarà rimuovere l'avviso. Dopo aver fatto ciò, dovresti disinstallare l'app e riavviare il dispositivo. Per ulteriori informazioni sulla revoca token, vedere la sezione "La revoca di un token" a:
https://developers.google.com/accounts/docs/OAuth2WebServer
Nulla del mio sviluppo Android è elencato lì, solo i siti Web che ho autorizzato. – gdonald
@ gdonald Sto cercando esattamente la stessa risposta a questa domanda. In IssuedAuthSubTokens, inoltre, non vedo la mia app per Android elencata. –
http://stackoverflow.com/questions/6852256/how-do-you-force-accountmanager-to-show-the-access-request-screen-after-a-user –