questo è il modo tradizionale per ottenere gettone da GoogleApiClient utilizzato in Google+ login:Ottenere conto token di Google dal GoogleApiClient senza permesso GET_ACCOUNTS
String token = GoogleAuthUtil.getToken(apiClient.getContext(), getAccountNameFromGoogle(apiClient), SCOPE);
Tuttavia, GetAccountNameFromGoogle
metodo richiede android.permission.GET_ACCOUNTS
permesso e in Android M Developer Preview 3, questa autorizzazione è ora contrassegnato come pericoloso e raggruppato in un gruppo di contatti. Ciò significa che se qualcuno vuole accedere alla mia app ha bisogno di concedere alla mia app i permessi di contatto completi che è un po 'eccessivo.
C'è un modo per ottenere questo senza permesso GET_ACCOUNTS
?
Una risposta potenziale che ho trovato è il recupero del nome account da AccountPicker, ma che le forze all'utente di scegliere il suo conto due volte (una volta per l'autenticazione di Google Plus e una volta per AccountPicker) che non è anche una soluzione molto amichevole.
ho cercato di usare il pulsante G + signin [qui] (https://github.com/googlesamples/google-services/tree/master/android/signin) e signin successo senza usare il permesso 'android.permission.GET_ACCOUNTS'. Ho scoperto che funziona su Lollipop e presenta un problema su M preview 3 quando è in esecuzione su 'Plus.PeopleApi.getCurrentPerson (mGoogleApiClient) .getDisplayName();', otterrà un puntatore nullo. Ho segnalato il problema [qui] (https://github.com/googlesamples/google-services/issues/25). – bjiang
Sì, sto già utilizzando quell'accesso. Tuttavia, ciò consente solo di utilizzare le API all'interno dei servizi di riproduzione. Se si desidera inoltrare il token al server o utilizzare su altre API al di fuori dei servizi di riproduzione, è necessario recuperare il token. –