2016-01-22 13 views
8

Sto seguendo le istruzioni di Google per aggiungere l'accesso con il pulsante google alla mia app. Se chiedo accedere senza requestEmail()Si è verificato un INTERNAL_ERROR quando requestEmail da GoogleSignInOptions Android

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
      .build(); 

Si restituisce il risultato come successo. Ma se richiedo un'email, si verifica uno stato INTERNAL_ERROR.

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
      .requestEmail() 
      .build(); 

rendimenti

E/Result: Status{statusCode=INTERNAL_ERROR, resolution=null} 

mi sono bloccato qui. Qualsiasi aiuto molto apprezzato. Si prega di commentare se avete bisogno di ulteriori informazioni sul codice. Grazie

+0

Stesso qui, se firmo senza la richiestaEmail() funziona, ma se metto la richiestaEmail() avrò INTERNAL_ERROR e non funziona nulla. Ho ricontrollato la pagina delle credenziali e le mie chiavi ... Niente funziona –

risposta

7

Se si riceve il codice di errore 8 (INTERNAL_ERROR), controllare la registrazione dell'app nella console di sviluppo. Si noti che ogni client Android registrato è identificato in modo univoco dalla coppia (nome del pacchetto, certificato di firma Android SHA-1). Se si dispone di più nomi di pacchetti/certificato di firma per gli ambienti di debug e di produzione, assicurarsi di registrarne ogni coppia. Per verificare:

  1. Aprire il Credentials page e selezionare il progetto
  2. Assicurarsi che ogni coppia ha un Android digitato ID client OAuth 2.0. Per creare un nuovo ID client OAuth 2.0 per il client Android, selezionare Nuove credenziali ->ID client OAuth2 dal menu a discesa, selezionare Android e immettere il proprio nome del pacchetto/impronta del certificato di firma lì.

Per ottenere il certificato di chiave di firma SHA-1:

standard Debug chiave keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Altro (Custom) chiave keytool -list -v -keystore $YOUR_KEYSTORE_LOCATION

+1

Era così. Dovevo registrare sia le chiavi che il debug e la produzione. –