Ocurrió un INTERNAL_ERROR cuando requestEmail de GoogleSignInOptions Android

Estoy siguiendo las instrucciones de google para agregar el inicio de sesión con el botón google a mi aplicación. Si solicito requestEmail() sesión sin requestEmail()

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

Devuelve el resultado como exitoso. Pero si solicito un correo electrónico, ocupa un INTERNAL_ERROR como estado.

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

devoluciones

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

Estoy atorado aqui. Cualquier ayuda muy apreciada. Comente si necesita más información sobre el código. Gracias

Si obtiene el código de error 8 ( INTERNAL_ERROR ), verifique el registro de su aplicación en la consola de desarrollo. Tenga en cuenta que cada cliente registrado de Android está identificado de forma exclusiva por el par (nombre del paquete, Certificado de firma de Android SHA-1). Si tiene múltiples nombres de paquetes / certificados de firma para sus entornos de depuración y producción, asegúrese de registrar cada par de ellos. Para verificar:

  1. Abra la página de Credenciales y seleccione su proyecto
  2. Asegúrese de que cada par tenga un ID de cliente OAuth 2.0 de Android . Para crear una nueva ID de cliente de OAuth 2.0 para su cliente de Android, seleccione Nuevas credenciales -> ID de cliente de OAuth2 en el menú desplegable, seleccione Android e ingrese allí su nombre de paquete / huella de certificado de firma.

Para obtener su certificado de clave de firma SHA-1:

Clave de depuración estándar keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Otra clave (personalizada) keytool -list -v -keystore $YOUR_KEYSTORE_LOCATION