Errores comunes de Google OAuth y la API de Gmail (y cómo solucionar cada uno)

Guía de Google OAuth

Errores comunes de Google OAuth y la API de Gmail (y cómo solucionar cada uno)

Todo desarrollador que integre Gmail o Google Calendar con Google OAuth se encontrará con al menos uno de estos errores de Google OAuth. Esta guía consolida los 7 errores comunes de Google OAuth en un solo lugar, con la causa exacta y la solución paso a paso para cada uno. Comprender estos errores de Google OAuth le ahorrará horas de depuración.

oauth_callback.py
#: Intercambio de tokens de Google OAuth import solicita token_respuesta = requests.post( "https://oauth2.googleapis.com/token", datos={ "código": código_autorización, "id_cliente": ID_DEL_CLIENTE, "secreto_del_cliente": CLIENT_SECRET, "uri_de_redirección": REDIRECT_URI, "grant_type": "código_de_autorización" } )
error: redirect_uri_mismatch
redirect_uri_mismatch concesión_inválida política_de_administración_impuesta acceso_denegado alcance_invalido
Referencia rápida

Referencia rápida: todos los errores de OAuth de Google de un vistazo

Tabla resumen de todos los 7 errores de Google OAuth cubiertos en esta guía - etapa en la que ocurre, causa raíz y el enlace de solución rápida a la sección detallada a continuación. Marque esta tabla como referencia al depurar errores de Google OAuth en desarrollo o producción.

Mensaje de error Escenario Causa raíz Reparación rápida
redirect_uri_mismatch Authorization La URI de redirección en tu solicitud no coincide exactamente con una registrada en la Consola de Google Cloud Arregla
política_de_administración_impuesta Authorization Un superadministrador de Workspace ha restringido las aplicaciones OAuth o los ámbitos a los que los usuarios de la organización pueden otorgar acceso Arregla
acceso_denegado Authorization La aplicación está en modo de prueba y el usuario no es un usuario de prueba, o la aplicación solicita ámbitos restringidos sin verificación Arregla
concesión_inválida Refresco de token El token de actualización ha expirado, ha sido revocado o se ha utilizado más de una vez (código de autenticación de uso único) Arregla
Pantalla de consentimiento faltante Consola de Google Cloud La nueva interfaz de Google Cloud movió la pantalla de consentimiento de OAuth; también requiere el rol de Propietario/Editor en el proyecto. Arregla
alcance_invalido Authorization Error tipográfico en la URL del ámbito o la API de Google correspondiente no está habilitada en el proyecto Arregla
Google no ha verificado Authorization La app utiliza alcances sensibles/restringidos pero no ha completado la verificación de Google; El modo de prueba limita a 100 usuarios Arregla
redirect_uri_mismatch Authorization
Causa raízLa URI de redirección en la solicitud no coincide exactamente con una URI registrada en la Consola de Google Cloud
política_de_administración_impuesta Authorization
Causa raízEl superadministrador del espacio de trabajo bloqueó la aplicación o el ámbito para la organización
acceso_denegado Authorization
Causa raízAplicación en modo de prueba, usuario no añadido como usuario de prueba, o ámbitos restringidos sin verificación
concesión_inválida Refresco de token
Causa raízToken de actualización expirado (6 meses de inactividad), revocado o código de autenticación de un solo uso reutilizado
Pantalla de consentimiento faltante Consola de Google Cloud
Causa raízLa nueva interfaz de usuario de Google Cloud trasladó la pantalla de consentimiento OAuth a "Descripción general de OAuth"."
alcance_invalido Authorization
Causa raízError en la URL del alcance o la API no está habilitada en el proyecto
Google no ha verificado Authorization
Causa raízAlcances sensibles/restringidos sin verificación; Modo de prueba con límite de 100 usuarios
Error 400

Error 400: redirect_uri_mismatch

Este es el error más común de Google OAuth para los desarrolladores que configuran una nueva integración. Se dispara durante el paso de autorización, antes de que se emita ningún token.

El mensaje de error exacto

Error 400: redirect_uri_mismatch La URI de redireccionamiento en la solicitud no coincidió con una URI de redireccionamiento registrada. error=redirect_uri_mismatch

Causa

Causa raíz

Google compara uri_redireccionamiento parámetro que pasas en tu URL de autorización con la lista de URIs de redireccionamiento autorizadas registradas en tu cliente OAuth en la Consola de Google Cloud. Incluso una diferencia de un solo carácter: una barra final, http vs https, o un puerto diferente, desencadena este error.

Arreglar (paso a paso)

Pasos para arreglar
1 Abrir Consola de Google Cloud - APIs y Servicios - Credenciales.
2 Haz clic en tu ID de cliente de OAuth 2.0 para editarlo.
3 Debajo URIs de redireccionamiento autorizados, agrega la URI exacta que estás pasando en tu código - por ejemplo,. https://yourapp.com/oauth/callback. El valor debe ser idéntico carácter por carácter, incluyendo el esquema, el puerto y la barra final.
4 Clic Guardar. Los cambios pueden tardar unos minutos en propagarse.
5 En tu código, asegúrate de que uri_redireccionamiento el valor que pasas al endpoint de autorización y al endpoint de intercambio de tokens son idénticos.

redirect_uri_mismatch en localhost

Durante el desarrollo local, registra la URI exacta de localhost que utilizas, por ejemplo http://localhost:3000/callback. Google permite http:// (no solo https://) para las URI de localhost. Si cambias el puerto de desarrollo, recuerda actualizar la URI registrada.

Entendido: Orígenes de JavaScript autorizados frente a URIs de redireccionamiento

Estos son dos campos separados y sirven para propósitos diferentes. Los orígenes de JavaScript autorizados se utilizan para flujos OAuth del lado del navegador (flujo implícito, Google Identity Services). Las URI de redireccionamiento autorizadas se utilizan para flujos de código de autorización del lado del servidor. Agregar una URI a los orígenes de JavaScript NO solucionará redirect_uri_mismatch error - debes agregarlo al campo de URIs de redirección. Un cliente OAuth de Google puede tener hasta 100 URIs de redirección registradas.

Error 400 / Administrador

Error 400: política de administrador impuesta

Este error no es un error en tu código. Es una política organizacional impuesta por un superadministrador de Google Workspace. Un desarrollador común no puede solucionarlo solo.

El mensaje de error exacto

Error 400: admin_policy_enforced No se puede usar la Cuenta de Google para la autorización debido a las políticas de tu organización. Ponte en contacto con tu administrador para obtener más información. error=admin_policy_enforced

Causa

Causa raíz

Un superadministrador de Google Workspace ha restringido qué aplicaciones de terceros o ámbitos de OAuth los usuarios de la organización pueden autorizar. Esto se configura mediante Controles de la API en la Consola de Administración de Google. Cuando una aplicación no está en la lista de aprobadas, todos los usuarios de ese Workspace recibirán este error cuando intenten autorizarla, independientemente del estado de verificación de la aplicación.

Esto es un control de cumplimiento y seguridad, no una mala configuración del lado del desarrollador. La resolución correcta es siempre del lado del administrador.

Corregir (solo del lado del administrador)

Pasos para el superadministrador
1 Inicia sesión en Consola de Administración de Google en admin.google.com con una cuenta de superadministrador.
2 Navegar a Seguridad - Control de acceso y datos - Controles de API.
3 Clic Gestionar acceso a aplicaciones de terceros.
4 Busca la aplicación por su ID de cliente OAuth o nombre de aplicación. Haz clic en ella.
5 Cambiar el estado de acceso de la aplicación de Bloqueado o Limitado a Confiable. Esto permite que la aplicación solicite los ámbitos que ha declarado.
6 Clic Cambiar para confirmar. Los usuarios de la organización ahora pueden autorizar la aplicación.
Nota: los usuarios normales no pueden arreglar esto

Un usuario que se encuentra política_de_administración_impuesta no pueden resolverlo por sí mismos. Necesitan ponerse en contacto con su superadministrador de Google Workspace y solicitar que la aplicación OAuth específica sea marcada como Confiable. Si el usuario es el administrador, puede seguir los pasos anteriores. Si el dominio aplica una política estricta de "Permitir aplicaciones específicas", la aplicación debe agregarse primero explícitamente a la lista de aprobadas antes de que pueda configurarse como Confiable.

Si estás creando herramientas internas y quieres evitar por completo el consentimiento OAuth por usuario, una cuenta de servicio con Delegación de Dominio Completo es la alternativa; consulta nuestra Cuenta de servicio de Gmail y guía DWD.

acceso_denegado

acceso_denegado. "Esta aplicación está bloqueada" (aplicación no verificada)

Los usuarios ven una pantalla de "Esta aplicación está bloqueada" o reciben acceso_denegado en la devolución de llamada de OAuth. Esta tiene múltiples causas raíz dependiendo de si tu aplicación todavía está en modo de prueba o apunta a ámbitos restringidos.

El mensaje de error exacto

Acceso bloqueado: [Nombre de tu aplicación] no ha completado el proceso de verificación de Google error=access_denied -- o -- Esta aplicación está bloqueada. Esta aplicación intentó acceder a información sensible en tu Cuenta de Google. Ponte en contacto con el desarrollador para obtener más información.

Causas

App en modo de prueba + usuario no es un usuario de prueba

Mientras tu aplicación OAuth se encuentre en estado de publicación "Prueba", solo los usuarios añadidos explícitamente como usuarios de prueba pueden autorizarla. Cualquier otra persona recibirá inmediatamente un acceso denegado.

Modo de prueba: se alcanzó el límite de 100 usuarios

El modo de prueba está limitado a 100 usuarios de prueba únicos en cualquier momento. Una vez que se alcance el límite de 100, los nuevos usuarios no podrán autorizar la aplicación, incluso si se agregan.

Ámbitos sensibles o restringidos sin verificación

Alcances como gmail.modificar o gmail.enviar son Ámbitos confidenciales. Las aplicaciones que los solicitan deben completar el proceso de verificación de aplicaciones de Google antes de que los usuarios reales puedan otorgar acceso.

Ámbitos restringidos (el más severo)

Un pequeño número de alcances (por ejemplo, acceso completo a Gmail) están Restringidos y requieren una auditoría de seguridad de terceros (CASA) además de la verificación.

Arregla

Para el modo de prueba - añadir usuarios de prueba
1 En la Consola de Google Cloud, ve a APIs y servicios - Pantalla de consentimiento de OAuth.
2 Debajo Usuarios de prueba, haga clic Añadir usuarios y agregue la dirección de Gmail de cada usuario que necesite acceso durante las pruebas.
3 Guardar. Ese usuario ahora puede autorizar la aplicación mientras permanece en modo de prueba.
Para Producción - enviar para verificación + CASA si es necesario
1 Asegúrate de que tu pantalla de consentimiento de OAuth esté completamente rellenada: nombre de la aplicación, correo electrónico de soporte, URL de la página de inicio, URL de la política de privacidad.
2 En la página de la pantalla de consentimiento de OAuth, haz clic Publicar aplicación para pasar a Producción, lo que activa la revisión de verificación para los ámbitos confidenciales.
3 Para alcances restringidos, completa una evaluación de seguridad CASA Nivel 2. Ver el Guía completa de configuración de Google OAuth para la verificación y el flujo de trabajo de CASA.
concesión_inválida

invalid_grant: "vuelve a conectar tu cuenta de Gmail"

En concesión inválida de la API de Gmail el error es uno de los más confusos en producción: falla silenciosamente para un subconjunto de usuarios y requiere un nuevo flujo de OAuth para recuperarse. Comprender el ciclo de vida del token de actualización es la clave para manejarlo correctamente.

El mensaje de error exacto

{"error": "invalid_grant", "error_description": "El token ha expirado o ha sido revocado."} -- o -- {"error": "invalid_grant", "error_description": "Solicitud incorrecta"}

Causa: el ciclo de vida del token de actualización

6 meses de inactividad "Google revoca los tokens de actualización que no se han utilizado durante 6 meses. Un usuario que vinculó su cuenta y luego dejó de usar tu aplicación obtendrá este error en el próximo intento.".
El usuario cambió su contraseña de Google - cambiar la contraseña de la cuenta de Google revoca todos los tokens OAuth existentes para esa cuenta, incluidos los tokens de actualización emitidos a aplicaciones de terceros.
Cambio de alcance en la reautorización - si vuelve a autorizar con un conjunto diferente de ámbitos que la concesión original, Google revoca el token de actualización anterior.
Modo de prueba = expiración de token de 7 días - mientras tu aplicación está en estado de publicación de pruebas, los tokens de actualización caducan después de 7 días, independientemente de su uso. Esta es la razón más común que los desarrolladores ven concesión_inválida Después de una semana de pruebas.
Código de autorización utilizado más de una vez - el código de autorización devuelto por Google en la redirección de OAuth es de un solo uso. Si llama al punto de acceso del token más de una vez con el mismo código, todas las llamadas subsiguientes devuelven concesión_inválida.

Solucionar: volver a autorizar con access_type=offline + prompt=consent

build_auth_url.py
from google_auth_oauthlib.flow import Fluir flujo = Flujo.desde_archivo_de_secretos_del_cliente( 'client_secrets.json', alcances=['https://www.googleapis.com/auth/gmail.readonly'], redirect_uri=URI_DE_REDRECCIÓN ) # access_type=offline → obtener un token de actualización # prompt=consent → obliga a renovar el consentimiento; siempre devuelve un nuevo token de actualización auth_url, estado = flujo.url_de_autorización( tipo_de_acceso='desconectado', prompt='consentimiento' ) # Guarda el NUEVO refresh_token de la respuesta El token antiguo # ya no es válido: actualiza tu base de datos
Nuevo token de actualización emitido: guárdelo y descarte el anterior

Evitar concesión_inválida en producción: siempre usar access_type=offline y consentimiento al iniciar el flujo OAuth, actualiza tu token de actualización almacenado cada vez que el usuario reautorice, detecta concesión_inválida errores y activar una interfaz de IU de reautorización elegante (un "vuelve a conectar tu cuenta de Gmail", mensaje), y sacar tu aplicación del modo de prueba para obtener tokens permanentes.

Omitir la gestión del token de actualización Ampliar la OAuth administrada de Unipile, sin ciclo de vida de tokens que gestionar
Constrúyelo con Unipile
Consola de Google Cloud

La pantalla de consentimiento de OAuth no aparece en la Consola de Google Cloud

Esta es la consulta de búsqueda de mayor volumen en este clúster (más de 390 búsquedas mensuales). La página de la "pantalla de consentimiento de OAuth" parece haber desaparecido de la consola de Google Cloud para muchos desarrolladores en 2024-2026 debido a un rediseño de la interfaz de usuario. No se ha eliminado, se ha movido.

Síntoma

Lo que ves

Abres Google Cloud Console y navegas a APIs y Servicios, pero el elemento del menú "Pantalla de consentimiento de OAuth" falta o al hacer clic en él te redirige a una nueva "Descripción general de OAuth" página que muestra un panel de resumen en lugar del formulario de configuración que esperabas.

Causas

1 Google rediseñó la Consola de Google Cloud en 2024 y trasladó la configuración de la pantalla de consentimiento de OAuth a un nuevo "Descripción general de OAuth" sección bajo APIs y Servicios. El formulario de edición directa está ahora un nivel más abajo.
2 Puede que tenga Rol de espectador En lugar de los roles Editor o Propietario en el proyecto de Google Cloud. Las cuentas con rol de Lector pueden ver la descripción general pero no pueden acceder al formulario de configuración de la pantalla de consentimiento.
3 Puede que estés en la proyecto equivocado. Cada proyecto tiene su propia pantalla de consentimiento de OAuth. Si tienes varios proyectos, revisa el selector de proyectos en la parte superior de la consola.
4 Aún no ha seleccionado un Tipo de usuario (Interno o Externo) para la pantalla de consentimiento de OAuth. Esta selección es obligatoria antes de que el formulario de configuración sea accesible.

Arreglar (paso a paso)

Pasos para acceder a la configuración de la pantalla de consentimiento de OAuth
1 Verifica que estás en el proyecto correcto de Google Cloud utilizando el menú desplegable de proyectos en la parte superior de la página. Si no es así, cambia al proyecto donde está configurado tu ID de cliente OAuth.
2 Confirma tu rol: ir a IAM y Administración - IAM y verifica que tengas Editor o Propietario El rol de Espectador no puede editar la pantalla de consentimiento.
3 Navegar a APIs y Servicios - Resumen de OAuth. Verá una página de resumen.
4 Busca el "Editar aplicación" botón o el "Marca" / "Audiencia" / "Alcances" pestañas. Estas son las secciones de lo que anteriormente era una única página de configuración de "pantalla de consentimiento de OAuth".
5 Si nunca has configurado una pantalla de consentimiento de OAuth en este proyecto, haz clic en Iniciar y elige tu tipo de usuario: Interno (Solo para usuarios de Workspace, no se requiere verificación) o Externo (cualquier cuenta de Google, se requiere verificación para ámbitos sensibles).
6 Complete todos los campos requeridos: nombre de la aplicación, correo electrónico de soporte y, para aplicaciones externas: URL de la página principal y URL de la política de privacidad.
Consejo rápido: también puedes navegar directamente a través de este patrón de URL (reemplaza TU_PROJECT_ID): https://console.cloud.google.com/apis/credentials/consent?project=YOUR_PROJECT_ID. Este enlace profundo omite la página general y va directamente a la configuración de la pantalla de consentimiento. Para un recorrido completo de cada campo de configuración, selección de tipo de usuario y el límite de prueba de 100 usuarios, consulte nuestra Guía de configuración de la pantalla de consentimiento de OAuth.

Semanas de verificación.
Utilice Llave de Unipile y empezar ahora.

No pierdas clientes esperando la revisión de Google. Conecta cuentas de Gmail en 5 minutos con nuestras credenciales de desarrollador preverificadas.

SOC 2 - GDPR - No se necesita revisión de la aplicación - Cambia a tu propia clave en cualquier momento
CASA Certificado Nivel 2
connect-gmail.shrizo
#: No hay Google Cloud Console. No hay reseña.#: conecta cualquier cuenta de Gmail en 5 minutos. rizo -X Publicación "https://api.unipile.com/v1/cuentas" \ -H "X-API-KEY: $UNIPILE_KEY" \ -d '{ "proveedor": "GOOGLE_OAUTH", "usar_credenciales_unipile": true }'
alcance_invalido

alcance_invalido

Un error tipográfico en la URL del alcance o una API deshabilitada harán que Google rechace toda la solicitud de autorización antes de que ocurra cualquier interacción con el usuario.

El mensaje de error exacto

{"error": "alcance_invalido", "error_description": "Algunos alcances solicitados fueron inválidos. {válido=[https://mail.google.com/], inválido=[gmail.readonly]}"} -- o en la URL de la pantalla de consentimiento -- error=invalid_scope&error_description=Some+requested+scopes+were+invalid

Causa

Dos causas fundamentales comunes: (1) el valor del ámbito es un nombre corto como gmail.lectura en lugar de la URL completa https://www.googleapis.com/auth/gmail.readonly, o (2) la API de Gmail (o cualquier otra API de Google que estés definiendo) no está habilitada en el proyecto de Google Cloud.

Ámbitos comunes de Gmail y sus URL correctas

URL del ámbito (use la URL completa) Lo que permite Tipo
https://www.googleapis.com/auth/gmail.readonly Leer todos los mensajes y hilos Sensible
https://www.googleapis.com/auth/gmail.send Enviar correo electrónico en nombre del usuario Sensible
https://www.googleapis.com/auth/gmail.modify Leer, componer, enviar, eliminar hilos Sensible
https://mail.google.com/ Acceso completo al buzón (IMAP/SMTP) Restringido
https://www.googleapis.com/auth/userinfo.email Leer solo la dirección de correo electrónico del usuario Básico
https://www.googleapis.com/auth/gmail.readonly Leer todos los mensajes y hilos Sensible
https://www.googleapis.com/auth/gmail.send Enviar correo electrónico en nombre del usuario Sensible
https://www.googleapis.com/auth/gmail.modify Leer, componer, enviar, eliminar hilos Sensible
https://mail.google.com/ Acceso completo al buzón (IMAP/SMTP) Restringido

Arregla

Pasos para solucionar invalid_scope
1 Comprueba que estás utilizando el URL de alcance completo empieza con https://www.googleapis.com/auth/ o https://mail.google.com/. Nunca uses la forma corta como gmail.lectura.
2 En la Consola de Google Cloud, ve a APIs y servicios - APIs y servicios habilitados. Buscar en API de Gmail y confirma que aparece como "Habilitado". Si no es así, haz clic en Habilitar.
3 Confirma que el alcance figura en tu pantalla de consentimiento de OAuth en Alcances para las API de Google. Si falta, agrégalo.
4 Vuelve a probar tu URL de autorización. Para obtener una lista completa de los alcances válidos de Gmail y su clasificación de sensibilidad, consulta la Guía de ámbitos de la API de Gmail.
Verificación

"Google no ha verificado esta app" y el límite de 100 usuarios

La pantalla de advertencia "Google no ha verificado esta aplicación" aparece cuando una aplicación no verificada solicita ámbitos sensibles o restringidos. Si bien los usuarios pueden continuar haciendo clic en "Avanzado" y luego en "Ir a [nombre de la aplicación] (no seguro)", esto no es adecuado para producción, y el modo de prueba limita su aplicación a un total de 100 usuarios únicos.

Causa

Causa raíz

Cuando tu app solicita ámbitos confidenciales (como el de gmail.lectura o gmail.enviar), Google muestra esta pantalla de advertencia a todos los usuarios hasta que complete la revisión de verificación. Para los ámbitos restringidos, también deberá aprobar una auditoría de seguridad de terceros (CASA Nivel 2).

Mientras está en estado de publicación de Pruebas, esta pantalla de advertencia también se muestra incluso para los usuarios de prueba, y el número total de usuarios de prueba permitidos está limitado a 100. Los tokens para los usuarios de prueba expiran después de 7 días.

Arregla

Camino a producción para alcances sensibles/restringidos
1 Completa la pantalla de consentimiento de OAuth: el nombre de la aplicación, el correo electrónico de soporte, la URL de la página principal y la URL de la política de privacidad deben proporcionarse todos.
2 En la pantalla de consentimiento de OAuth / página de audiencia, haz clic en Publicar aplicación (mueve el estado de Pruebas a Producción, activando el flujo de verificación de Google).
3 Para ámbitos sensibles: completo Revisión de verificación de Google. Esto implica confirmar tu identidad, explicar el uso de cada alcance sensible y vincular un video de YouTube que demuestre el flujo de OAuth.
4 Para ámbitos restringidos (p. ej. https://mail.google.com/adicionalmente completar una CASA Nivel 2 evaluación de seguridad por un evaluador aprobado por Google.
5 Para la configuración completa de la pantalla de consentimiento paso a paso, la selección del alcance y el flujo de trabajo de verificación, consulte la Verificación de la aplicación de Google y guía CASA.
Intermediario técnico independiente

Estos errores desaparecen cuando el proyecto OAuth ya está certificado

La pantalla "Google no ha verificado esta aplicación", el límite de 100 usuarios y la caducidad del token de 7 días en el modo de prueba son todos síntomas de "Poseer y gestionar tu propio proyecto de Google Cloud". Un intermediario técnico independiente que actúa en nombre de cada usuario autenticado - y ya ha completado la certificación CASA Nivel 2 - elimina toda esta sobrecarga de tu lado. Tus usuarios autorizan una vez; el ciclo de vida del token, el cumplimiento del alcance y la verificación de nuevo se gestionan a nivel de plataforma.

Esto no es una solución alternativa para la revisión de seguridad de Google. Unipile ha completado de forma independiente el nivel 2 de la CASA y no está afiliado, respaldado ni patrocinado por Google.

Inicia sesión con Google OAuth ya certificado
Estrategia

Cómo evitar toda esta clase de errores de Google OAuth

Al observar los 7 errores de Google OAuth en esta guía, surge un patrón. Todos y cada uno de ellos se originan en la misma raíz: la gestión manual de tu propio proyecto de Google Cloud y su configuración de OAuth. Estos errores de Google OAuth no son aleatorios, son consecuencias estructurales de tener un proyecto OAuth no verificado, desde desajustes en las URI de redirección y fallas en la rotación de tokens hasta el límite de 100 usuarios y el rechazo de la pantalla de consentimiento.

Hay otra manera. Usando un intermediario técnico independiente que actúa en nombre de cada usuario autenticado - que ya ha completado la revisión de verificación de Google y la certificación de seguridad CASA Nivel 2 - elimina todos estos modos de falla de su plato. La comparación a continuación muestra exactamente qué errores desaparecen y qué infraestructura Unipile maneja en su lugar. Ver Documentación de Google OAuth de Unipile para la guía de integración completa.

Arreglarlo tú mismo vs. Unipile

Todo error en esta guía: ¿quién posee la solución?

Los 7 errores de Google OAuth cubiertos anteriormente comparten una raíz común: tú eres el propietario del proyecto de Google Cloud, por lo tanto, eres el propietario de todos los modos de falla. Aquí hay una comparación lado a lado de lo que eso significa en la práctica.

Arreglándolo tú mismo Su responsabilidad
redirect_uri_mismatch Gestionar todas las URI de redireccionamiento en Google Cloud Console
política_de_administración_impuesta Depende del administrador de Workspace de cada usuario, está fuera de tu control
acceso_denegado / aplicación_bloqueada Proceso de verificación de Google + gestión de usuarios de prueba
concesión_inválida Crea y mantén tu propia lógica de rotación de tokens de actualización
Problemas con la pantalla de consentimiento Configura y mantén tú mismo la pantalla de consentimiento de OAuth
alcance_invalido Rastrea qué alcances restringidos requieren verificación de Google
Aplicación sin verificar + límite de 100 usuarios Ejecute usted mismo la verificación de Google y la evaluación CASA Nivel 2
Tú eres dueño y depuras todo eso
Con Unipile Manejado
Enlace de autenticación alojado: sin pantalla de consentimiento para configurar Sin gestión de URI de redirección, nunca
URIs de redireccionamiento manejados para ti redirect_uri_mismatch simplemente no puede ocurrir
Tokens de actualización gestionados automáticamente No se muestran errores de "reconectar tu Gmail" a tus usuarios
Conéctate con la clave OAuth de Google ya certificada de Unipile Sin advertencia de aplicación no verificada, sin límite de 100 usuarios
CASA Certificado Nivel 2 Clave Google OAuth de Unipile - intermediario técnico independiente
Omite la creación y certificación de tu propio proyecto de Google Cloud: conecta el Gmail de tus usuarios en la clave ya certificada de Unipile, luego cambia a la tuya cuando estés listo (BYOC)
Acceda a ámbitos restringidos de Gmail sin esperar a que se complete su propia verificación de Google
Unipile actúa como intermediario técnico independiente, procesando solicitudes en nombre de cada usuario autenticado
Envío ahora con clave certificada de Unipile, sea dueño de ella más tarde Comienza a conectar las cuentas de Gmail de tus usuarios hoy mismo a través de la clave OAuth de Google certificada CASA Tier 2 de Unipile. Ejecuta tu propia verificación de Google Cloud en paralelo. Cuando se apruebe, cambia a tus propias credenciales con Bring Your Own Credentials (BYOC): tus usuarios ven tu marca, Unipile sigue manejando la infraestructura.
Estas clases de error simplemente no ocurren

La distinción clave: Unipile ya ha completado la revisión de seguridad de Google y la evaluación CASA Nivel 2 para las conexiones que gestiona en su nombre. Esto no es una solución alternativa para la revisión de seguridad de Google: Unipile ya la ha superado. Sus usuarios obtienen una pantalla de consentimiento limpia (sin advertencia de "aplicación no verificada"), su aplicación se lanza de inmediato y usted puede llevar a cabo su propia verificación de Google Cloud en paralelo sin ninguna presión de plazo de producción.

Crea tu integración de Gmail sin tocar la Google Cloud Console Vincule cuentas de Gmail en la clave OAuth de Google ya certificada de Unipile. Sin configuración de URI de redireccionamiento, sin lógica de rotación de tokens, sin advertencias de aplicaciones no verificadas para sus usuarios.
Barco en la clave certificada de Unipile

Nota de cumplimiento: Unipile es un intermediario técnico independiente, no afiliada, respaldada ni patrocinada por Google. El cliente OAuth de Google de Unipile cuenta con la certificación CASA Nivel 2, lo que permite a sus usuarios autorizar el acceso a Gmail sin una advertencia de "aplicación no verificada" para las conexiones intermediadas a través de Unipile. Esto no es una solución alternativa para la revisión de seguridad de Google: Unipile ya la ha superado para las conexiones que intermedia. en nombre de cada usuario autenticado. Los usuarios pueden revocar el acceso en cualquier momento a través de la página de permisos de su Cuenta de Google.

Unipile - Preguntas frecuentes sobre errores de Google OAuth

Preguntas frecuentes sobre errores de Google OAuth

Respuestas a las preguntas más comunes sobre errores de OAuth de Google y errores de la API de Gmail, cubriendo el ciclo de vida de los tokens, políticas de administración, URIs de redirección y configuración de la consola de Google Cloud.

01 admin_policy_enforced significa que se está aplicando una política de administración.

política_de_administración_impuesta significa que un superadministrador de Google Workspace ha bloqueado tu aplicación o los alcances específicos de OAuth que solicita para que no sean autorizados por los usuarios de esa organización. Es una política de control de acceso organizacional, no un error en tu código. La solución requiere la intervención del superadministrador de Workspace en la Consola de Administración de Google en Seguridad > Controles de API > Administrar acceso de aplicaciones de terceros.

No. Un usuario normal no puede solucionar admin_policy_enforced. Solo una cuenta de Google Workspace superadministrador puede resolver este error marcando la aplicación como Confiable en la Consola de Administración. El usuario afectado debe ponerse en contacto con su administrador de TI o el superadministrador de Workspace y solicitar que la aplicación OAuth específica se agregue a la lista aprobada.

En redirect_uri_mismatch en localhost ocurre cuando la URI que registras en la consola de Google Cloud no coincide exactamente con la URI que utiliza tu servidor de desarrollo local. Por ejemplo, al registrar http://localhost:3000/callback pero ejecutándose en el puerto 3001, o olvidando una barra final. Google permite http:// (no solo https://) para URIs de localhost. Registra la URI exacta que usa tu servidor local, incluyendo el número de puerto correcto.

No. Los orígenes de JavaScript autorizados y las URIs de redirección autorizadas son dos campos separados. Los orígenes de JavaScript se utilizan exclusivamente para flujos OAuth del lado del navegador. Para solucionar redirect_uri_mismatch, debes añadir el URI URIs de redireccionamiento autorizados campo, no a los orígenes de JavaScript.

Un único cliente OAuth 2.0 de Google puede tener hasta 100 URIs de redireccionamiento autorizados registrado. Esto te permite registrar URIs para diferentes entornos (desarrollo local, staging, producción) y diferentes rutas de callback dentro del mismo cliente.

Si tu aplicación está en Probando el estado de publicación, los tokens de actualización de Google caducan después de 7 días independientemente del uso. Esto se debe al diseño para aplicaciones no verificadas. Pasar al estado de producción haciendo clic Publicar aplicación en la página de la pantalla de consentimiento de OAuth para obtener tokens de larga duración. En Producción, los tokens de actualización permanecen válidos siempre que el usuario use tu aplicación al menos una vez cada 6 meses. Para una alternativa administrada, visita nuestro Solución de API de Gmail gestionada.

Google revoca los tokens de actualización que no se han utilizado durante 6 meses (aproximadamente 180 días). Los tokens también se revocan cuando: el usuario cambia su contraseña de la cuenta de Google, el usuario revoca el acceso a la aplicación en la configuración de seguridad de su Cuenta de Google, se reautoriza con ámbitos diferentes o el número total de tokens de actualización para un par usuario-aplicación único supera los 50 (los más antiguos se revocan primero). Para obtener una imagen completa sobre cómo crear integraciones de correo electrónico robustas, consulte nuestras Guía completa de la API de correo electrónico.

Google rediseñó la Cloud Console en 2024. La configuración de la pantalla de consentimiento de OAuth ahora se encuentra dentro de APIs y Servicios > Descripción general de OAuth. Hacer clic Editar aplicación o usa las pestañas Marca, Audiencia y Alcances. Consulta también: necesitas Rol de editor o propietario en el proyecto (el espectador no puede acceder al formulario) y asegúrate de estar en el proyecto correcto usando el selector de proyectos en la parte superior de la consola.

¿Sigues encontrando un error de Google OAuth que no aparece aquí? Omite la depuración y deja que Unipile se encargue del OAuth de Gmail por ti.

Construir
es_ESES