"Se ha producido un error interno" con la integración del Inicio de sesión de Google Plus


Estoy tratando de integrar un Inicio de sesión de Google plus en mi aplicación según las instrucciones proporcionadas por el siguiente enlace : https://developers.google.com/ + / quickstart / android#install-sdk

Estoy siguiendo todas las instrucciones perfectamente. Y cuando corro la aplicación de ejemplo en un dispositivo real proporcionado en el android-sdk y hago clic en el botón signin, muestra un mensaje Toast que An internal error occurred

¿Qué estoy haciendo mal?

Author: Geek, 2013-04-02

20 answers

Esto puede ocurrir cuando no ha establecido la firma para el ID de cliente en su proyecto de consola de API, o si ha copiado el valor de clave incorrecto de keytool. Esto se documenta en los pasos de la guía de inicio rápido en los pasos 7, 8, 9 y 10.

 31
Author: Vic Fryzel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-02 11:33:31

Tengo este problema e incluso después de crear 10 ID de cliente diferentes con SHA y nombre de paquete diferentes, no funciona... hasta que descubrí que tienes que llenar el Consent screen.

Según la consola de GoogleDevelopers -

La pantalla de consentimiento se mostrará a los usuarios cada vez que solicite acceso a sus datos privados usando su ID de cliente.

Pantalla de consentimiento

 86
Author: mjosh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-19 12:18:50

He resuelto el problema eliminando .setScopes("PLUS_LOGIN") en el PlusClient.Constructor.

 16
Author: marcogramy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-17 09:19:58

Recibí este mensaje de error toast en mi aplicación android:

An internal error occurred

Resumen:

Suponiendo que haya cometido un error al configurar la negociación entre su aplicación Android y el servidor API de Android que le otorga acceso. Lo más probable es que se deba a que no agregaste el nombre de paquete correcto o la huella SHA1 correcta. Seguí estos pasos para eliminar la configuración incorrecta y hacerlo bien.

Pasos para arreglar:

  1. Ve a tu api de Google consola e inicio de sesión: https://code.google.com/apis/console

  2. Haga clic en la pestaña "Acceso API".

  3. Haga clic en el botón: "Crear otro ID de cliente".

  4. Elija: botón de opción "Aplicación instalada".

  5. Elija: botón de opción "Android".

  6. Introduzca el nombre del paquete de la aplicación Android que muestra el error anterior. Puede encontrarlo definido en la parte superior del archivo de código PlusSampleActivity.java. Para mí lo es com.Google.androide.gms.muestras.más

  7. Adquiere tu valor de huella SHA1:

    A. Utilice el comando keytool -list -v -keystore /home/el/.android/debug.keystore. Ingrese la contraseña, si nunca la configuró, la contraseña predeterminada es'android'.

    B. La huella SHA1 se muestra en la pantalla, copiado.

  8. Pegue el valor anterior en el cuadro" Firma de huella digital del certificado (SHA1):".

  9. Haga clic en el botón: "Crear ID de cliente".

  10. Ejecute su aplicación Android de nuevo, haga clic en "Iniciar sesión".

Ahora se le presenta una actividad para "Iniciar sesión en Google + SDK con Google".

 10
Author: Eric Leschinski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-05 14:06:31

En mi caso, la solución fue realmente establecer una dirección de correo electrónico en la pantalla de Consentimiento. Primero, era un poco reacio a seleccionar mi dirección personal y por una extraña razón puede guardar el formulario sin esta pieza de datos sin error. Después de verificar lo que otros han sugerido, tan pronto como configuré mi dirección de correo electrónico en ese formulario, comenzó a funcionar.

 4
Author: Alex FJ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-10 11:34:15

He estado buscando cómo arreglar esto por un día con lleno de investigación sin suerte finalmente me las arreglé para resolver este problema con el siguiente enfoque.

Antes de comenzar a resolver esto (al menos cómo funcionó ti para mí) tengo que decir que todo en el la documentación es correcta y no tiene que cambiar ninguna línea de código o algo así. Parece más un error en el https://cloud.google.com/console consola en la nube

Primero asegúrese de que tiene la correcta SHA1 y el nombre del paquete de tu proyecto como se describe en los documentos https://developers.google.com/ + / inicio rápido / android

Ahora bien, este error como me di cuenta (al menos para mí) fue que en mi consola en la nube, el proyecto que he creado fue hace mucho tiempo con la antigua interfaz y hace unos meses migré a la nueva interfaz gráfica de usuario.Una vez que obtenga el nuevo aspecto en la consola en la nube, notará que los nuevos proyectos tienen un id de proyecto generado automáticamente así atlantean-ares-331 mientras que viejo los proyectos tienen un valor entero largo como id del proyecto que no es visible . Por lo tanto, si su proyecto se creó con la antigua interfaz gráfica de usuario y acaba de crear un nuevo id de cliente para OAuth para ese proyecto, recibirá el mensaje "Se produjo un error interno" al intentar iniciar sesión con Google.

Cómo Arreglar

  1. Vaya a su consola en la nube
  2. Hacer un nuevo proyecto yo sugeriría un nombre como oldprojectname-gplus
  3. En la sección APIs habilitar Google + API
  4. Asegúrese de que ninguno de sus proyectos tiene el mismo nombre de paquete en OAuth ID de cliente con el que va a utilizar ahora, de lo contrario obtendrá Error This client ID is globally unique and is already in use.(tendrá que eliminar el antiguo id de cliente OAuth con el mismo nombre de paquete que usará ahora).

  5. Vaya a Credenciales Crear un nuevo ID de cliente para OAuth.

Aplicación instalada

Android

Introduzca el nombre del paquete de su proyecto y su SHA1

Hecho

 3
Author: Thano,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-14 16:12:05

Mi solución al problema estaba siguiendo.

Hice todo lo que otros recomendaron y no hubo error tipográfico con respecto al nombre del paquete y la clave SHA1. También intenté quitar la clave y luego agregarla de nuevo, pero no ayudó.

Lo que ayudó fue eliminar la clave y crear un nuevo proyecto (en https://code.google.com/apis/console ) y luego crear el ID de cliente (con paquete+sha1) de nuevo allí. Después de eso (5 segundos) todo funcionó en mi Android dispositivo.

 2
Author: Zsolt Safrany,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-20 15:30:55

Este problema está relacionado con los permisos de la consola de la api.

Si está utilizando un permiso relacionado con SCOPE_PLUS_LOGIN, en la consola de api debe crear dos claves, una para el id de cliente OAuth y otra para la clave de api pública.

 1
Author: Oscar Calderon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-19 05:40:16

En mi caso, el problema fue que cambié el nombre del paquete de la aplicación y no actualizé en la consola dev.

 1
Author: Ilya Gazman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-20 10:52:02

Para mí fue que estaba intentando usar mi clave de producción al instalarla usando mi clave de depuración. Asegúrate de usar el SHA1 correcto desde el almacén de claves correcto.

 0
Author: jcaruso,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-04 15:58:40

Me di la vuelta al Google IO 2013, y cambié la inicialización de PlusClient, entonces funciona.

public static final String AUTH_SCOPES[] = {
    Scopes.PLUS_LOGIN,
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/developerssite" };

mPlusClient = new PlusClient.Builder(this, this, this)
    .setScopes(AUTH_SCOPES)
    .build();
 0
Author: Tushu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-12 03:13:26

Gracias Thano por la solución "Ahora bien, este error como me di cuenta (al menos para mí) fue que en mi consola en la nube, el proyecto que he creado fue hace mucho tiempo con la antigua interfaz y hace unos meses migré a la nueva interfaz gráfica de usuario.Una vez que obtenga el nuevo aspecto en la consola en la nube, notará que los nuevos proyectos tienen un id de proyecto generado automáticamente como este atlantean-ares-331, mientras que los proyectos antiguos tienen un valor entero largo como id de proyecto que no es visible. Así que si su proyecto fue creado con la antigua GUI y usted acaba de crear un nuevo id de cliente para OAuth para ese proyecto obtendrá el brindis "Se produjo un error interno" al intentar iniciar sesión con Google."

 0
Author: psikario,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-04 18:55:21

Recrear el proyecto en la consola de Google funcionó para mí después de varios otros intentos:

Por alguna razón mi proyecto no tenía un ID de proyecto(consola antigua / consola nueva?).

Como Thano (arriba) sugirió, he creado un nuevo proyecto, creado ID de cliente,... y luego en trabajado. Gracias por el consejo!!

 0
Author: user2996950,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-05 05:14:04

Recuerde usar el almacén de claves de depuración integrado para realizar pruebas. Tenía todo lo demás funcionando correctamente, pero había configurado mi huella digital SHA1 del almacén de claves de producción en las credenciales de la consola de desarrolladores, lo que hizo que no funcionara.

 0
Author: MikkoP,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-10 14:43:46

Si se enfrenta a este error cuando intenta ejecutar la aplicación de ejemplo "o" copie el proyecto que ha creado en otra máquina que se estaba ejecutando correctamente en ese y dar dicho error emergente en la otra máquina donde está tratando de ejecutar ,puede seguir el siguiente método y le ayudará.

Si está creando la aplicación para fines de prueba/depuración,

1.Genere el nuevo SHA1 si copia su proyecto y lo ejecuta en otra máquina para el nombre y la ruta del paquete proporcionado para keystore.

2.Cambie el ClientID en la consola de desarrolladores por el nuevo SHA1 generado y ejecútelo en la nueva máquina donde ha copiado el proyecto e intenta ejecutarlo.

 0
Author: ManishSB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-25 09:46:07

Algo que a menudo se pasa por alto es el nombre del paquete. Me gustaría aclarar el paso 6 de Eric Leschinski anterior( no puedo comentar allí): el paquete requerido no es el paquete de una actividad, sino el paquete del manifiesto de su aplicación.

Puede recuperar el valor correcto del elemento raíz de AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ntk.darkmoor"
    android:versionCode="1"
    android:versionName="1.0" >

En este ejemplo defina " com.ntk.darkmoor " al crear el ID de cliente

 0
Author: nikos.t,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-13 16:15:41

Tuve el mismo problema cuando usé SHA1 para depurar.keystore para depuración luego exportó mi aplicación olvidando generar SHA1 para keystore que utilicé para exportar mi aplicación.

 0
Author: makuno,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-12 17:25:02

Funciona para mí cuando conecto el dispositivo e instalo el apk desde Android Studio. Pero ahora está trabajando para mí cuando genero el .apk e instalarlo desde dropbox.

 -1
Author: Biranchi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-13 08:48:23

Revisé todas las respuestas proporcionadas aquí y otras también. En mi caso, el problema también fue el SHA-1. La razón por la que obtenía el SHA-1 incorrecto era mi comando de certificado de exportación de keytool.

Anteriormente estaba usando

C:\Users\mysuername\.android SHA 1 signature keytool -exportcert -alias androiddebugkey -keystore "keystorepath" -list -v

El problema estaba en la variable androiddebugkey. Aquí tienes que dar el nombre de la clave que utilizas para firmar la aplicación.

C:\Users\mysuername\.android SHA 1 signature keytool -exportcert -alias mykeyname -keystore "keystorepath" -list -v

Espero que esto ayude a alguien!

 -1
Author: Hadi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-08 20:11:31

Para agregar a esta larga lista de razones, mi problema fue que obtuve la clave de depuración del archivo jks en lugar de la aplicación.

Siempre es algo pequeño.

 -1
Author: user237462,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-02 12:36:11