n8n Google OAuth – Configuraciones necesarias

Esta guía exhaustiva te proporcionará un recorrido paso a paso para configurar la autenticación n8n Google OAuth, un proceso fundamental para integrar de forma segura tu instancia de n8n con una amplia gama de servicios de Google, como Gmail, Google Drive, Google Sheets y Google Calendar. Aprenderás a establecer las credenciales necesarias en Google Cloud Platform y en n8n, garantizando que tus flujos de automatización puedan interactuar con tus datos de Google de manera eficiente y protegida. Sigue estas instrucciones detalladas para optimizar tus integraciones y evitar los errores más comunes.
Al final del artículo tendrás una Guía Interactiva, para poder ir marchando paso a paso cada una de las configuraciones.

Paso 1: Configuración de n8n Google OAuth en Google Cloud Platform

1.1 Crear/Acceder al Proyecto de Google Cloud

  1. Ve a Google Cloud Console.
  2. Si no tienes un proyecto, crea uno nuevo:
    • Haz clic en «Seleccionar proyecto» en la parte superior.
    • En la ventana emergente, haz clic en «Nuevo proyecto».
    • Nombre del proyecto: n8n-integration (o el que prefieras,p.e. n8n Google OAuth).
    • Haz clic en «Crear«.

1.2 Habilitar APIs Necesarias

Según los nodos que vayas a usar en n8n, deberás habilitar las APIs correspondientes en Google Cloud.

  • Para Gmail/Google Workspace:
    • Gmail API
    • Google Workspace Admin SDK API
  • Para Google Drive:
    • Google Drive API
  • Para Google Sheets:
    • Google Sheets API
  • Para Google Calendar:
    • Google Calendar API
  • Para Google Analytics:
    • Google Analytics Reporting API

IMPORTANTE: Con tu subdominio https://tudominio.com/, asegúrate de usar exactamente esta URL en toda la configuración.

Proceso para habilitar APIs:

  1. Ve a «APIs y servicios» → «Biblioteca».
  2. Busca cada API necesaria (ej. «Gmail API»).
  3. Haz clic en la API.
  4. Haz clic en «Habilitar«.

1.3 Configurar Pantalla de Consentimiento OAuth

  1. Ve a «APIs y servicios» → «Pantalla de consentimiento de OAuth».
  2. Selecciona «Externo» (a menos que tengas Google Workspace, en cuyo caso podrías elegir «Interno»).
  3. Haz clic en «Crear«.
  4. Completa los campos obligatorios:
    • Nombre de la aplicación: n8n Integration
    • Correo de soporte del usuario: tu email
    • Logotipo de la aplicación: (opcional)
    • Dominios autorizados: tudominio.com (el dominio principal, sin subdominio)
    • Correo de contacto del desarrollador: tu email
  5. En la sección «Ámbitos (Scopes)», haz clic en «AÑADIR O ELIMINAR ÁMBITOS» (marcado como «1» en la imagen a continuación) y agrega los necesarios según los servicios de Google que vayas a integrar con n8n.

Para usuarios básicos/medios – Usa las casillas:

  • Marca solo lo que necesites: En la lista que se muestra, selecciona únicamente las APIs que tu aplicación va a usar realmente.
  • Busca por nombre: Usa el filtro (marcado como «2» en la imagen) para encontrar APIs específicas más fácilmente.
  • Lee las descripciones: La columna «User-facing description» te explica qué hace cada scope en términos sencillos.
  • Scopes más comunes para empezar:
    • userinfo.email – Para obtener el email del usuario
    • userinfo.profile – Para obtener información básica del perfil
    • openid – Requerido para autenticación OAuth

Ventajas de usar las casillas:

✅ No necesitas memorizar nombres técnicos

✅ Reduces errores de escritura

✅ Ves descripciones claras de cada permiso

✅ Google actualiza automáticamente la lista

La opción de «Pasted Scopes» (texto manual, junto al marcado «3» en la imagen) está más pensada para desarrolladores avanzados que ya conocen exactamente qué scopes necesitan o están migrando configuraciones existentes.

Aquí algunos scopes clave que podrías necesitar y que se introducen en “Manually add scopes”:

  • Gmail: https://www.googleapis.com/auth/gmail.modify
  • Drive: https://www.googleapis.com/auth/drive
  • Sheets: https://www.googleapis.com/auth/spreadsheets
  • Calendar: https://www.googleapis.com/auth/calendar
  • (Si necesitas más, búscalos y añádelos aquí)

En la sección «Usuarios de prueba», agrega los emails que usarás para conectar y probar tus flujos de n8n.

Haz clic en «GUARDAR Y CONTINUAR«.

1.4 Crear Credenciales OAuth 2.0

  1. Ve a «APIs y servicios» → «Credenciales».
  2. Haz clic en «Crear credenciales» → «ID de cliente de OAuth 2.0«.
  3. Tipo de aplicación: «Aplicación web».
  4. Nombre: n8n Google Integration
  5. Orígenes de JavaScript autorizados (este campo aparece cuando seleccionas «Aplicación web»):
    • https://tudominio.com
  6. URIs de redirección autorizados:
    • https://tudominio.com/rest/oauth2-credential/callback
    IMPORTANTE PARA TU SUBDOMINIO https://tudominio.com/:
    • En «Orígenes de JavaScript autorizados»: https://tudominio.com (URL completa con subdominio)
    • En «URIs de redirección autorizados»: https://tudominio.com/rest/oauth2-credential/callback
    • NO agregues www ni barras finales (/)
    • Debe ser EXACTAMENTE como aparece arriba, sin modificaciones.
  7. Haz clic en «Crear«.
  8. IMPORTANTE: Guarda el Client ID y el Client Secret que aparecerán en la ventana emergente. Los necesitarás para configurar n8n.

Paso 2: Configuración de Credenciales n8n Google OAuth

UBICACIÓN CORRECTA: Las credenciales NO están en Settings. Se crean directamente desde los workflows:

  1. Crea un nuevo workflow o abre uno existente.
  2. Agrega un nodo de Google (por ejemplo: «Google Sheets», «Gmail», «Google Drive», etc.).
  3. En el nodo, donde dice «Credential to connect with», haz clic en el botón «+» o «Create New«.
  4. Se abrirá una ventana para seleccionar el tipo de credencial.
  5. Busca y selecciona «Google OAuth2 API» (no «Google Service Account»).
  6. Completa los campos:
    • Client ID: El que obtuviste de Google Cloud.
    • Client Secret: El que obtuviste de Google Cloud.
    • Scope: CRÍTICO – Debes elegir el scope correcto según QUÉ nodo de Google vayas a usar.

Explicación Detallada de Scopes (Permisos)

Los scopes son los permisos específicos que le das a n8n para acceder a tus servicios de Google. Cada servicio requiere un scope diferente:

  • Gmail
    • https://www.googleapis.com/auth/gmail.modify
    • ¿Qué hace? Permite leer, enviar, modificar y eliminar emails.
    • ¿Cuándo usarlo? Para nodos de Gmail (enviar emails, leer bandeja, etc.).
    • Alternativa más limitada: https://www.googleapis.com/auth/gmail.readonly (solo lectura).
  • Google Drive
    • https://www.googleapis.com/auth/drive
    • ¿Qué hace? Acceso completo a archivos y carpetas de Drive.
    • ¿Cuándo usarlo? Para nodos de Google Drive (subir, descargar, crear carpetas).
    • Alternativa más limitada: https://www.googleapis.com/auth/drive.file (solo archivos creados por la aplicación).
  • Google Sheets
    • https://www.googleapis.com/auth/spreadsheets
    • ¿Qué hace? Crear, leer y modificar hojas de cálculo.
    • ¿Cuándo usarlo? Para nodos de Google Sheets (leer/escribir datos en hojas).
  • Google Calendar
    • https://www.googleapis.com/auth/calendar
    • ¿Qué hace? Gestionar eventos y calendarios.
    • ¿Cuándo usarlo? Para nodos de Google Calendar (crear eventos, leer calendario).

¿Cómo Elegir el Scope Correcto?

REGLA SIMPLE: Usa el scope del servicio que vayas a utilizar:

  • ✅ Si vas a usar Gmail → Scope: https://www.googleapis.com/auth/gmail.modify
  • ✅ Si vas a usar Drive → Scope: https://www.googleapis.com/auth/drive
  • ✅ Si vas a usar Sheets → Scope: https://www.googleapis.com/auth/spreadsheets
  • ✅ Si vas a usar Calendar → Scope: https://www.googleapis.com/auth/calendar

¿Puedo Usar Múltiples Scopes?

Sí, puedes combinar varios scopes separados por espacios: https://www.googleapis.com/auth/gmail.modify https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/spreadsheets

¿Cuándo hacer esto?

  • Si usarás MÚLTIPLES servicios de Google en el mismo workflow.
  • Para evitar crear múltiples credenciales OAuth.

Recomendación para Empezar:

  • Comienza con UN solo servicio (ej: Google Sheets).
  • Usa SOLO el scope de ese servicio.
  • Una vez que funcione, puedes crear credenciales adicionales o combinar scopes si es necesario.

¿Dónde Escribir el Scope?

En n8n, cuando crees la credencial OAuth2:

  1. Aparecerá un campo llamado «Scope» o «Scopes«.
  2. Copia y pega exactamente el scope o los scopes que necesites.
  3. Sin comillas, solo el URL del scope (o URLs separadas por espacios).
  4. Nombre de la credencial: Dale un nombre descriptivo (ej: «Google OAuth – Mi Cuenta»).
  5. Haz clic en «Connect my account» o «Conectar mi cuenta«.
  6. Se abrirá una ventana de Google para autorizar el acceso.
  7. Completa la autorización en Google.
  8. Guarda la credencial.

Nota sobre la visibilidad del campo «Scope» en n8n:

Es posible que, al configurar un nodo de Google en n8n, el campo «Scope» no aparezca explícitamente o deba ser activado. Esto puede deberse a:

  • Versión de n8n: La interfaz de usuario puede variar entre versiones, y algunas podrían auto-rellenar scopes básicos por defecto o tener una forma diferente de mostrarlos.
  • Simplificación de la interfaz: Para nodos comunes, n8n podría simplificar la configuración inicial, asumiendo scopes básicos. Sin embargo, para funcionalidades más avanzadas o si necesitas permisos específicos, el campo «Scope» o una opción para añadirlo (como un botón de «Añadir Scope») debería estar disponible.
  • Detección automática: Algunos nodos pueden intentar detectar qué scopes son necesarios basándose en las operaciones que configuras, pero la adición manual siempre es la forma más segura de asegurar que tienes los permisos exactos.

Aun así, la especificación correcta de los scopes es fundamental para el buen funcionamiento de la integración y para evitar errores como «insufficient_scope» más adelante. Si no lo ves de inmediato, busca opciones avanzadas o botones para añadir/personalizar scopes en el formulario de credenciales.

2.2 Acceso Alternativo a Credenciales

Si quieres ver todas tus credenciales creadas:

  1. Ve al menú principal (las tres líneas horizontales en la esquina superior izquierda).
  2. Busca «Credentials» o «Credenciales«.
  3. Ahí verás todas las credenciales que has creado.

NOTA: En n8n Community Edition, las credenciales se crean principalmente desde los nodos, no desde un menú central de configuración.

2.3 Configuración Específica por Servicio

Asegúrate de que los scopes que usaste en Google Cloud y en n8n coincidan con los servicios que planeas usar:

  • Gmail
    • Scope requerido: https://www.googleapis.com/auth/gmail.modify
    • API a habilitar: Gmail API
  • Google Drive
    • Scope requerido: https://www.googleapis.com/auth/drive
    • API a habilitar: Google Drive API
  • Google Sheets
    • Scope requerido: https://www.googleapis.com/auth/spreadsheets
    • API a habilitar: Google Sheets API
  • Google Calendar
    • Scope requerido: https://www.googleapis.com/auth/calendar
    • API a habilitar: Google Calendar API

Paso 3: Configuración del Servidor para n8n Google OAuth

3.1 Variables de Entorno Necesarias para configurar correctamente n8n Google OAuth

Asegúrate de tener estas variables en tu archivo .env o configuradas a través de la interfaz de administración de tu instancia de n8n:

# URL base de tu instancia n8n
N8N_EDITOR_BASE_URL=https://tudominio.com

# Habilitar OAuth2 y especificar la URL de callback
N8N_OAUTH_CALLBACK_URLS="https://tudominio.com/rest/oauth2-credential/callback"

Nota sobre la introducción de variables en interfaz gráfica:

Si tu instalación de n8n te permite configurar las variables de entorno a través de una interfaz gráfica (como se muestra en la imagen que proporcionaste), no necesitas introducir las comillas dobles (") para el valor de la variable N8N_OAUTH_CALLBACK_URLS. Simplemente introduce la URL completa https://tudominio.com/rest/oauth2-credential/callback en el campo de texto correspondiente. La interfaz se encargará de gestionar el formato adecuado internamente.

3.2 Configuración de SSL/HTTPS

CRÍTICO: OAuth2 de Google REQUIERE HTTPS. Si no tienes SSL configurado para tu subdominio https://tudominio.com/, la integración no funcionará.

Con Nginx (ejemplo básico):

server { listen 443 ssl; server_name tudominio.com; ssl_certificate /path/to/cert.pem; # Ruta a tu certificado SSL ssl_certificate_key /path/to/key.pem; # Ruta a tu clave privada SSL location / { proxy_pass http://localhost:5678; # n8n suele correr en el puerto 5678 por defecto proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

Con Certbot (Let’s Encrypt – recomendado para facilitar SSL):

sudo certbot --nginx -d tudominio.com

Sigue las instrucciones del instalador.

Paso 4: Solución de Problemas Comunes de n8n Google OAuth

  • Error: «redirect_uri_mismatch»
    • Causa más común: URI de redirección incorrecta en Google Cloud.
    • Solución: Verifica en Google Cloud Console → Credenciales → Tu cliente OAuth. Debe ser EXACTAMENTE: https://tudominio.com/rest/oauth2-credential/callback. Sin www, sin barras finales, y con HTTPS.
  • Error: «invalid_client»
    • Causa: Client ID o Client Secret incorrectos.
    • Solución: Copia y pega el Client ID y Client Secret completos desde Google Cloud Console. Verifica que no haya espacios extra al inicio o al final.
  • Error: «access_denied»
    • Causa: El usuario no completó la autorización OAuth, o el email no está en «Usuarios de prueba» (si la aplicación está en modo prueba).
    • Solución: Agrega tu email (y los emails de los usuarios que probarán) en Google Cloud Console → Pantalla de consentimiento OAuth → Usuarios de prueba. Asegúrate de completar el flujo de autorización en Google.
  • Error: «insufficient_scope»
    • Causa: Los permisos (scopes) configurados en n8n no son suficientes o no coinciden con la API que estás intentando usar.
    • Solución: En n8n, verifica que el scope de la credencial OAuth2 sea el correcto y contenga todos los permisos necesarios para el servicio. Ejemplo: Gmail necesita https://www.googleapis.com/auth/gmail.modify.
  • La ventana OAuth no se abre o da error 404
    • Causa: Problemas de configuración de URL o de proxy.
    • Solución:
      • Verifica que N8N_EDITOR_BASE_URL=https://tudominio.com esté configurado correctamente en tus variables de entorno.
      • Reinicia n8n después de cambiar las variables de entorno.
      • Verifica que no haya redirecciones en tu proxy (ej. Nginx) que interfieran con la URL de callback de OAuth.
  • Error: «origin_mismatch»
    • Causa: El «Origen de JavaScript autorizado» en Google Cloud no coincide exactamente.
    • Solución: Debe ser: https://tudominio.com (sin barras finales).

Paso 5: Verificación y Pruebas de n8n Google OAuth

5.1 Verificar Configuración – n8n Google OAuth

  1. En n8n, crea un workflow simple.
  2. Agrega un nodo de Google (ej: Gmail, Google Sheets).
  3. Selecciona tu credencial OAuth2 recién creada.
  4. Si aparece «Conectado» en verde junto a la credencial, es una buena señal de que la configuración básica está funcionando.

5.2 Prueba de Funcionalidad

  1. Configura una operación simple en el nodo (ej: «Listar emails» en Gmail, «Leer datos» en Google Sheets).
  2. Ejecuta el nodo manualmente.
  3. Si devuelve datos sin errores, la integración funciona correctamente.

Paso 6: Configuración de Producción para n8n Google OAuth

6.1 Pasar de Prueba a Producción

Una vez que todo funcione y estés seguro de que tus integraciones son correctas:

  1. En Google Cloud Console → «Pantalla de consentimiento OAuth».
  2. Haz clic en «Publicar aplicación«.
  3. Completa el proceso de verificación si es necesario (Google podría requerir una verificación si la aplicación es para un uso público o si se accede a datos sensibles).

6.2 Mejores Prácticas de Seguridad

  • Usa los scopes mínimos necesarios para cada integración. No concedas más permisos de los estrictamente requeridos.
  • Revisa regularmente los accesos concedidos a tu aplicación en la configuración de seguridad de tu cuenta de Google.
  • Mantén actualizadas tus credenciales y no las compartas innecesariamente.
  • Considera usar diferentes proyectos de Google Cloud para tus entornos de desarrollo y producción para una mejor gestión y seguridad.

Comandos de Utilidad

Para reiniciar n8n después de cambiar variables de entorno o configuraciones:

Si usas la versión de Node.js con interfaz gráfica:

Simplemente pulsa el botón "Restart" (Reiniciar) que encontrarás en la interfaz de n8n.

Si usas Docker:

docker restart n8n

Si usas PM2:

pm2 restart n8n

Si usas systemd:

sudo systemctl restart n8n

Para verificar los logs de n8n (útil para depurar problemas de inicio o de credenciales):

Docker:

docker logs n8n

PM2:

pm2 logs n8n

Systemd:

sudo journalctl -u n8n -f

URLs de Referencia

Nota Importante: Siempre usa HTTPS en producción. Google OAuth2 no funciona con HTTP excepto en localhost para desarrollo.

0 comentarios

✉️ Deja un comentario

🧠 ¿Te ha sido útil? ¡Déjanos un comentario o comparte este artículo!