11

I'm following google instruction to add sign in with google button to my app. If I request sign in without requestEmail()

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

It returns the result as successful. But if I request email, it occures an INTERNAL_ERROR as the status.

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

returns

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

I'm stuck here. Any help highly appreciated. Please comment if you need further information about the code. Thank you

Kaushik
  • 6,150
  • 5
  • 39
  • 54
Choxmi
  • 1,584
  • 4
  • 29
  • 47
  • 1
    Same here, if i sign without the requestEmail() it works, but if i put the requestEmail() i will have the INTERNAL_ERROR and nothing works. I double checked the Credentials page and my keys... Nothing works – Jordan Junior Apr 11 '16 at 21:57

1 Answers1

9

If you get error code 8 (INTERNAL_ERROR), please double check your app registration in dev console. Note that every registered Android client is uniquely identified by the (package name, Android Signing Certificate SHA-1) pair. If you have multiple package names / signing certificate for your debug and production environments, make sure to register every pair of them. To verify:

  1. Open the Credentials page and select your project
  2. Make sure every pair has an Android typed OAuth 2.0 client IDs. To create a new OAuth 2.0 client ID for your Android client, select New Credentials->OAuth2 Client ID from the dropdown, select Android and input your Package name / Signing-certificate fingerprint there.

To get your signing key certificate SHA-1:

Standard Debug Key keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Other (Custom) Key keytool -list -v -keystore $YOUR_KEYSTORE_LOCATION

Sam Stern
  • 24,624
  • 13
  • 93
  • 124