2013-02-22 12 views
15

Mi viene restituito un GoogleAuthException: Unknown error, mentre faccio un GoogleAuthUtil.getToken.Errore di Google Api e Android Oauth INVALID_AUDIENCE

Poco prima l'eccezione vedo

GLSUser: GLS error: INVALID_AUDIENCE <email> audience:server:client_id:xxx.apps.googleusercontent.com 

Ho impostato lo SHA1 dalla mia chiave di sblocco, il nome del pacchetto, al progetto API di Google. (Che tra l'altro viene utilizzato con successo per GCM.)

risposta

16

Sembra che dovrebbe funzionare; ecco il codice scope-init della mia app che funziona.

private static final String SCOPE = "audience:server:client_id:" + SERVER_CLIENT_ID; 

Quindi mi sa di come ci sia un problema con l'id del cliente. Ricordate che

  1. Bisogna avere un progetto con due ID client
  2. Uno è quello per l'app Android, con il pacchetto SHA & & così via
  3. L'altro è per il lato server che si sta andando per inviare il token off per

E 'l'ID del cliente da # 3, che va dopo ...: client_id:

+0

Grazie. – Alok

+3

@Alok .... Ho incontrato lo stesso problema. Sto usando web client_id nel pubblico in endpoint api e anche in ambito di pubblico Android. Vedi ancora lo stesso errore di autenticazione.Come hai generato il web client_id? Sono andato alla console delle API di Google, ho generato un ID cliente per le applicazioni Web con ire di reindirizzamento e origine javascript come vuoto. È corretto? – plspl

+0

Un'altra causa comune di questo è la registrazione dell'hash del certificato di debug e il test con release (o viceversa). –

0

successo a uno sulla mia squadra un anche se ha funzionato bene sul mio dispositivo. Si è verificato a causa di un diverso debug.keystore sulle nostre installazioni di eclissi.

per risolverlo abbiamo copiato il file della società debug.keystore-~/.android/ (questa è la directory su un Mac, è diverso su Linux e Windows)

0

risolvere questo problema eliminando il tuo debug.keystore trovato nel vostro. cartella Android, quindi eseguire nuovamente il nuovo progetto per generare un nuovo file debug.keystore. Infine, genera un nuovo certificato di firma SHA-1 per l'API di Google.

0

Inoltre, devi configurare la schermata di autorizzazione oAuth nella Console dell'API di Google.

Questo è stato il motivo per cui ho ottenuto questo errore

0

Nell'interesse di documentare il mio problema,

Ho avuto lo stesso errore INVALID_AUDIENCE tornato da un accesso Google attraverso un AWS mobile Hub generato campione app. Un paio di cose da verificare,

Come le note di Tim Bray, rendere il proprio ID client un id valido per il client Web (non per Android). Ma hanno anche un ID client Android che ha sia l'impronta digitale SHA-1 (trovata in debug.keystore che Android Studio utilizza per firmare i build di debug quando si fa clic su Esegui) e il nome del pacchetto.

NOTA: il nome del pacchetto elencato in AndroidManifest.xml non è sempre il nome del pacchetto effettivo. Per trovare il nome del pacchetto definitivo, andare al file build.gradle e vedere il campo applicationId. Assicurati di inserire il giusto nome del pacchetto in Developers Console quando configuri l'ID del client Android.

Problemi correlati