Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Se ha producido un error interno con la integración de Google Plus Login

Estoy intentando integrar un Login de Google más en mi aplicación según las instrucciones proporcionadas en el siguiente enlace: https://developers.google.com/+/quickstart/android#install-sdk

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

¿Qué estoy haciendo mal?

  • ¿Podemos publicar en Google Plus desde la aplicación Android?
  • Android / Google + Cómo saber si los amigos del usuario han instalado la aplicación
  • Creación de GoogleApiClient para múltiples actividades
  • Toast: Error interno con la integración de Google Plus en Android
  • Abrir Google Plus Página Via Intent en Android
  • Google + para android (obtener puntero nulo)
  • Error: Estado {statusCode = DEVELOPER_ERROR, resolution = null}
  • La huella dactilar que ha especificado ya está siendo utilizada por otro cliente Android OAuth2
  • 20 Solutions collect form web for “Se ha producido un error interno con la integración de Google Plus Login”

    Esto puede suceder 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.

    Tengo este problema e incluso después de crear 10 diversos ID de cliente con diverso SHA y nombre del paquete, no trabaja … hasta que descubrí que usted tiene que llenar la Consent screen .

    Según GoogleDevelopers Consola –

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

    Pantalla de consentimiento

    He resuelto el problema al eliminar .setScopes("PLUS_LOGIN") en el PlusClient.Builder.

    Conseguí este mensaje del mensaje de la tostada en mi androide aplicación:

     An internal error occurred 

    Resumen:

    Suponiendo que cometiste un error al configurar la negociación entre tu aplicación de Android y el servidor de la API de Android, te otorga acceso. Probablemente causado por no agregar el nombre correcto del paquete o corregir la huella digital SHA1. He seguido estos pasos para soplar la configuración incorrecta y hacerlo bien.

    Pasos para solucionar:

    1. Accede a tu consola google api y accede a la página https://code.google.com/apis/console

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

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

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

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

    6. Ingrese 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í es com.google.android.gms.samples.plus

    7. Adquiera el valor de la huella digital SHA1:

      a. Utilice el comando keytool -list -v -keystore /home/el/.android/debug.keystore . Introduzca la contraseña, si nunca la configura, la contraseña predeterminada es 'android'.

      segundo. La huella digital SHA1 se muestra en la pantalla, copia que.

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

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

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

    Ahora se te presenta una Actividad para iniciar sesión en Google+ SDK con Google.

    En mi caso, la solución era realmente establecer una dirección de correo electrónico en la pantalla de consentimiento. En primer lugar, estaba 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 comprobar lo que otros han sugerido, tan pronto como establezco mi dirección de correo electrónico en ese formulario, comenzó a trabajar.

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

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

    Primero asegúrese de que tiene el SHA1 correcto y el nombre del paquete de su proyecto como se describe en los documentos https://developers.google.com/+/quickstart/android

    Ahora bien, este error como noté (al menos para mí) fue que en mi consola de nube, el proyecto que he creado hace mucho tiempo con la antigua interfaz y hace unos meses migré a la nueva GUI. Una vez que obtenga el nuevo aspecto en la nube Consola te darás cuenta de que los nuevos proyectos tienen un ID de proyecto generado automáticamente como este atlantean-ares-331 mientras que los proyectos antiguos recibieron un valor entero largo como ID de proyecto que no es visible . Por lo tanto, si su proyecto se creó con la GUI antigua y acaba de crear una nueva ID de cliente para OAuth para ese proyecto, obtendrá el Toast "Se ha producido un error interno" al intentar iniciar sesión con google.

    Como arreglar

    1. Ir a la consola de tu nube
    2. Hacer un nuevo proyecto sugeriría un nombre como oldprojectname-gplus
    3. En la sección de API, habilita la API de Google+
    4. Asegúrese de que ninguno de sus proyectos tenga el mismo nombre de paquete en el ID de cliente de OAuth con el que 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 de OAuth Con el mismo nombre de paquete que usará ahora).

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

    Aplicación instalada

    Androide

    Introduzca el nombre del paquete de su proyecto y su SHA1

    Hecho

    Mi solución al problema era el siguiente.

    Hice todo lo que otros recomendaron y no hubo error tipográfico con respecto al nombre del paquete y clave SHA1. También intenté quitar la llave y después agregarla otra vez pero no ayudó.

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

    Este problema se relaciona con los permisos de la consola de api.

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

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

    Para mí fue que estaba tratando de usar mi clave de producción al instalarlo usando mi clave de depuración. Asegúrese de usar el SHA1 correcto desde el almacén de claves derecho.

    Me di la vuelta a la 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(); 

    Gracias a Thano por la solución "Ahora este error como me di cuenta (al menos para mí) fue que en mi consola de nube, el proyecto que he creado hace mucho tiempo con la antigua interfaz y hace unos meses migré a la nueva GUI. Obtendrá el nuevo aspecto en la consola de la nube se dará cuenta de que los nuevos proyectos tienen un ID de proyecto generado automáticamente como este atlantean-ares-331, mientras que los proyectos antiguos obtuvo un valor entero largo como ID de proyecto que no es visible.Así que si su proyecto fue creado con el Vieja GUI y usted acaba de crear la nueva identificación del cliente para OAuth para ese proyecto usted conseguirá el tostado "un error interno ocurrió" mientras que intentaba entrar con google. "

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

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

    Como sugirió Thano (arriba), creé un nuevo proyecto, creé Client IDs, … y luego en work. ¡¡Gracias por el consejo!!

    Recuerde usar el almacén de claves de depuración incorporado para probar. Tenía todo lo demás funcionando correctamente, pero había establecido mi producción keystore SHA1 huella digital en las credenciales en la consola de desarrolladores, lo que hizo que no funcione.

    Si se enfrenta a este error cuando intenta ejecutar la aplicación de ejemplo "o" copiar el proyecto que ha creado en otra máquina que se ejecutó correctamente en ese y dando tal error emergente en la otra máquina donde está intentando ejecutar, Puede seguir el siguiente método y que le ayudará.

    Si su está construyendo la aplicación para el propósito de prueba / depuración entonces,

    1.Generar el nuevo SHA1 si copia su proyecto y lo ejecuta en otra máquina para el nombre del paquete y la ruta de acceso proporcionada por keystore.

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

    Algo que a menudo se pasa por alto es el nombre del paquete. Quisiera aclarar el paso 6 de Eric Leschinski arriba (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

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

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

    Pasé por todas las respuestas proporcionadas aquí y otros también. En mi caso, el tema era el SHA-1 también. La razón por la que estaba recibiendo el SHA-1 incorrecto era mi comando cert 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í tiene que dar el nombre de la clave que utiliza 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!

    Para añadir a esta larga lista de razones mi problema era que tengo la debugkey del archivo jks en lugar de la aplicación.

    Siempre es algo pequeño.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.