Clave de API de Gmail vs OAuth: Por qué no puedes omitir OAuth (y qué usar en su lugar)

Unipile - Tabla de Contenidos
Unipile - El héroe de la API de Gmail
Autenticación de la API de Gmail

Clave API de Gmail vs OAuthPor qué no puedes saltarte OAuth

¿Se puede usar una clave API de Google para acceder a Gmail? Respuesta corta: no. La API de Gmail accede a datos privados del usuario, lo que significa que cada solicitud requiere el consentimiento explícito del usuario a través de OAuth 2.0. Esta guía cubre el error exacto que verá si intenta usar una clave API, las 3 vías de autenticación reales disponibles hoy en día y cómo conectar un buzón de Gmail en 3 líneas de código usando una API de correo electrónico unificada.

Empezar a construir Guía de la API de Gmail
gmail-auth.js
Clave API de Gmail vs OAuth - el veredicto // ---------------------------------------- // MAL: la clave de API NO funciona con Gmail const res = await fetch( https://gmail.googleapis.com/gmail/v1/ usuarios/yo/mensajes?clave=TU_CLAVE_API` ); // Devuelve: 401 Se requiere inicio de sesión // CORRECTO: token de acceso OAuth 2.0 const res = await fetch( 'https://gmail.googleapis.com/gmail/v1/users/me/messages', { headers: { 'Authorization': Portador ${token de acceso}` } } ); // O salta OAuth por completo - usa Unipile const correos = await unipile.email.list( { idDeCuenta: 'id-cuenta-vinculada' } );
No código repetitivo de OAuth - Unipile se encarga de los tokens por ti
Funciona con Gmail Outlook IMAP
La Respuesta Corta

¿Puedes usar una clave API con la API de Gmail?

Si ya has trabajado en Google Cloud antes, sabes que las claves API funcionan bien para Maps o Translate. Por lo tanto, es natural intentar el mismo enfoque con Gmail. No funcionará. Aquí te explicamos exactamente qué sucede y por qué, además del veredicto de dos frases antes de profundizar.

Veredicto

No. Las claves API de Google no pueden autenticarse contra la API de Gmail. Gmail accede a datos privados del usuario, lo que requiere el consentimiento explícito del usuario a través de OAuth 2.0. No hay ningún distintivo, encabezado ni solución alternativa que permita sustituir una clave de API por un token de acceso de OAuth en ningún punto final de Gmail. La API de Gmail devolverá un 401 Inicio de sesión requerido o Límite diario de 403 para uso no autenticado excedido error cada vez.

terminal - intento de clave API
Solicitud # con clave API Obtener /gmail/v1/usuarios/yo/mensajes ?clave=AIzaSy... Respuesta # HTTP/1.1 401 No autorizado { "error": { "code": 401, "mensaje": "Se requiere inicio de sesión", "estado": "NO AUTENTICADO" } }
401 Se requiere inicio de sesión: clave API rechazada
terminal - cuota no autenticada alcanzada
# Tras repetidas llamadas sin autenticar Obtener /gmail/v1/usuarios/yo/mensajes ?clave=AIzaSy... Respuesta # HTTP/1.1 403 Prohibido { "error": { "code": 403, "mensaje": "Límite diario de uso no autenticado excedido", "estado": "RESOURCE_EXHAUSTED" } }
403 Cuota excedida sin autenticar

Clave API - Funciona solo para datos públicos

Una clave API identifica tu proyecto de Google Cloud para facturación y cuotas. Funciona con APIs públicas (Maps, Translate, datos públicos de YouTube) que no acceden a cuentas de usuario. Gmail nunca son datos públicos.

OAuth 2.0 - Requerido para la API de Gmail

OAuth 2.0 genera un token de acceso específico del usuario después de que el usuario otorga explícitamente su consentimiento. La API de Gmail lee ese token en cada solicitud para verificar tanto la identidad del usuario como el alcance del acceso aprobado. Sin un token de acceso válido, no hay respuesta.

Conceptos

Lo que realmente hace una clave de API en Google Cloud (y lo que no)

Las claves de API y los tokens de OAuth son dos mecanismos distintos que resuelven dos problemas diferentes. Confundirlos es uno de los errores más comunes al empezar con las API de Google. Aquí está la separación clara.

¿Qué claves API funcionan con

Google Maps Platform Geocodificación, Direcciones, Lugares (no se necesita cuenta de usuario)

API de Traducción de Google Cloud - Traducir texto, detectar idiomas

API de Datos de YouTube - Lectura de metadatos públicos de video, canales, listas de reproducción

Visión por Computadora / Procesamiento de Lenguaje Natural APIs de ML que procesan el contenido que cargas

Facturación + seguimiento de cuotas - Todo el uso de la clave API se mide contra tu proyecto

Qué es lo que las claves API NO PUEDEN hacer

API de Gmail - Leer, enviar o administrar el buzón de cualquier usuario

API de Google Calendar - Leer o escribir eventos del calendario de cualquier usuario

API de Google Drive - Acceder, cargar o listar los archivos de un usuario

SDK de administración de Google Workspace - Cualquier operación con ámbito de administrador en un dominio

API de Personas (datos de usuario) Cualquier punto final que acceda a los contactos o al perfil de un usuario

La regla es simple: si una API accede a los datos de la cuenta de un usuario, Google exige que dicho usuario se autentique mediante OAuth 2.0. Las claves de API son credenciales de proyecto, no credenciales de usuario. La API de Gmail siempre se refiere a datos de usuario. Sin excepciones. Esta regla se aplica independientemente de si tu aplicación es pública o interna para tu empresa.

Arquitectura

Por qué Gmail requiere OAuth 2.0

OAuth 2.0 no es una barrera burocrática que Google inventó para frenarte. Es la única forma técnicamente sólida de otorgar acceso con ámbito definido, revocable y auditable a datos privados de usuarios. Los tres requisitos principales de Gmail explican por qué una clave de API nunca puede sustituirlo.

01

El consentimiento del usuario es innegociable

Los datos de Gmail pertenecen al usuario, no a tu aplicación. OAuth 2.0 es el mecanismo por el cual un usuario dice explícitamente "sí, esta aplicación puede leer mi bandeja de entrada". Sin flujo de consentimiento, no hay acceso. Este es un requisito legal bajo el RGPD y una política de la plataforma de Google, no solo una restricción técnica.

02

Acceso limitado y revocable

Las tokens OAuth portan ámbitos, que son declaraciones precisas de lo que la aplicación puede y no puede hacer (solo lectura, enviar, acceso completo). Los usuarios pueden ver exactamente qué acceso concedieron y revocarlo en cualquier momento desde la configuración de su Cuenta de Google. Una clave API no otorga nada y no puede revocar nada a nivel de usuario.

03

La caducidad de los tokens protege a los usuarios

Los tokens de acceso de la API de Gmail caducan (generalmente en 1 hora). Esto significa que un token robado es inútil después de una corta ventana. Su aplicación debe actualizar silenciosamente los tokens utilizando un token de actualización, que a su vez puede ser revocado. Las claves API, por el contrario, son credenciales de proyecto de larga duración sin un mecanismo de revocación a nivel de usuario.

Importante: Basic Auth obsoleto en septiembre de 2024

Google ha dejado de usar la autenticación de nombre de usuario/contraseña ("Autenticación básica") para Gmail en Septiembre 2024. Si tiene alguna integración heredada que utilice credenciales almacenadas directamente, ha dejado de funcionar. OAuth 2.0 es el único mecanismo de autenticación restante para la API de Gmail, tanto para integraciones nuevas como para las migradas. Ver el anuncio oficial de Google.

¿Necesitas gestionar OAuth para múltiples cuentas de Gmail en tu SaaS? Unipile gestiona la pantalla de consentimiento, el intercambio de tokens y la actualización silenciosa para cada cuenta vinculada, de modo que su código nunca toca un token.

Constrúyelo con Unipile
Unipile - Comparativa de autenticación de Gmail
Comparación

Las 3 vías de autenticación reales para la API de Gmail

Una vez que aceptes que OAuth es inevitable, la pregunta es: ¿qué camino de OAuth se ajusta a tu caso de uso? Hay tres opciones arquitectónicamente distintas, cada una con diferentes compensaciones en cuanto a complejidad, alcance del usuario y sobrecarga de mantenimiento.

Criterio ID de cliente de OAuth 2.0 (3 pasos) Cuenta de Servicio + DWD API Unificada (Unipile)
¿Se requiere consentimiento del usuario? Sí - por usuario No (delegados admin) Sí - a través de la interfaz de usuario de Unipile
¿Funciona con Gmail personal? No (Solo para Workspace)
¿SaaS multi-inquilino? Solo el mismo espacio de trabajo Sí, construido para ello
Gestión de tokens Tu código almacena y actualiza tokens
Mantenimiento elevado
Clave JSON de cuenta de servicio
Administrado por el administrador
Unipile maneja todos los tokens
Mantenimiento cero
Revisión de la pantalla de consentimiento de Google Requerido (ámbitos sensibles) Solo configuración de administrador No es necesario
¿También es compatible con Outlook + IMAP? Solo Gmail Solo Gmail/Workspace Gmail, Outlook, IMAP
Tiempo para leer el primer correo electrónico 2-4 horas de configuración
Aplicación OAuth + ámbitos + pantalla de consentimiento
1-2 horas de configuración
Administrador de espacio de trabajo requerido
Menos de 15 minutos
Clave de API + cuenta enlazada
Mejor para Aplicaciones SaaS que conectan Gmail de usuarios externos Herramientas internas del espacio de trabajo para tu organización Cualquier caso de uso de API de correo electrónico: sin operaciones OAuth
ID de cliente de OAuth 2.0 (3 pasos)
¿Se requiere consentimiento del usuario? Sí - por usuario
¿Funciona con Gmail personal?
¿SaaS multi-inquilino?
Gestión de tokens Tu código almacena y actualiza tokens
Mantenimiento elevado
Revisión de la pantalla de consentimiento de Google Requerido (ámbitos sensibles)
¿También es compatible con Outlook + IMAP? Solo Gmail
Tiempo para leer el primer correo electrónico 2-4 horas de configuración
Aplicación OAuth + ámbitos + pantalla de consentimiento
Mejor para Aplicaciones SaaS que conectan Gmail de usuarios externos
Cuenta de Servicio + DWD
¿Se requiere consentimiento del usuario? No (delegados admin)
¿Funciona con Gmail personal? No (Solo para Workspace)
¿SaaS multi-inquilino? Solo el mismo espacio de trabajo
Gestión de tokens Clave JSON de cuenta de servicio
Administrado por el administrador
Revisión de la pantalla de consentimiento de Google Solo configuración de administrador
¿También es compatible con Outlook + IMAP? Solo Gmail/Workspace
Tiempo para leer el primer correo electrónico 1-2 horas de configuración
Administrador de espacio de trabajo requerido
Mejor para Herramientas internas del espacio de trabajo para tu organización
API Unificada (Unipile)
Recomendado
¿Se requiere consentimiento del usuario? Sí - a través de la interfaz de usuario de Unipile
¿Funciona con Gmail personal?
¿SaaS multi-inquilino? Sí, construido para ello
Gestión de tokens Unipile maneja todos los tokens
Mantenimiento cero
Revisión de la pantalla de consentimiento de Google No es necesario
¿También es compatible con Outlook + IMAP? Gmail, Outlook, IMAP
Tiempo para leer el primer correo electrónico Menos de 15 minutos
Clave de API + cuenta enlazada
Mejor para Cualquier caso de uso de API de correo electrónico: sin operaciones OAuth
Ruta 1 de 3

Ruta 1 - ID de cliente OAuth 2.0 (SaaS multitenant)

Si estás creando un producto SaaS donde tus clientes conectan sus propias cuentas de Gmail, el flujo de código de autorización OAuth 2.0 es el camino estándar. Este es el flujo de 3 patas: tu aplicación, Google y el usuario final. Requiere configurar un proyecto de Google Cloud y pasar por el proceso de verificación de la pantalla de consentimiento para alcances sensibles. Para una inmersión profunda en el Flujo de OAuth para APIs de correo electrónico en detalle, consulte nuestra guía dedicada.

01

Crear credenciales de OAuth 2.0 en la Google Cloud Console

Ve a APIs y servicios > Credenciales > Crear credenciales > ID de cliente OAuth. Elige "Aplicación web". Configura las URIs de redireccionamiento autorizadas para tu aplicación. Esto genera tu client_id y secreto_cliente.

02

Habilita la API de Gmail y declara tus ámbitos

Vaya a APIs y servicios > Pantalla de consentimiento de OAuth. Agregue los ámbitos de Gmail que necesita (por ejemplo,. gmail.lectura, gmail.enviarLos alcances sensibles y restringidos requieren verificación de Google, un proceso que lleva días o semanas.

03

Redirigir a los usuarios a la URL de autorización de Google

Cuando un usuario haga clic en "Conectar Gmail" en tu aplicación, redirígelo a Google con tu client_id, ámbitos y uri_redireccionamiento. Después de que aprueban, Google te devuelve un código de autorización a tu URI de redireccionamiento.

04

Intercambia el código por tokens y almacena el token de actualización

POST un código de autorización al endpoint de tokens de Google. Tú recibes un token_de_acceso (expira ~1h) y un token de actualización (de larga duración). Almacena el token de actualización de forma segura: es cómo obtienes nuevos tokens de acceso sin volver a pedirle al usuario que inicie sesión.

gmail-oauth-flow.js
const { google } = require('googleapis'); const oauth2Cliente = new google.auth.OAuth2( process.env.GMAIL_CLIENT_ID, process.env.GMAIL_CLIENT_SECRET, process.env.GMAIL_REDIRECT_URI ); // Paso 1: Construir la URL de autorización const urlDeAutenticación = oauth2Cliente.generarUrlDeAutenticación({ tipo_acceso: 'desconectado', // obtener token de actualización ámbito: [ 'https://www.googleapis.com/auth/gmail.readonly', 'https://www.googleapis.com/auth/gmail.send' ] }); // Paso 2: Intercambiar código por tokens (en tu manejador de callback) async function manejar callback(código) { const { tokens } = await oauth2Cliente.obtenerToken(código); oauth2Cliente.establecerCredenciales(tokens); // Almacena tokens.refresh_token de forma segura en tu BD return tokens; } // Paso 3: Usa el token de acceso para llamar a la API de Gmail async function listaMensajes(accessToken) { const gmail = google.gmail({ version: 'v1', auth: oauth2Client }); const res = await gmail.usuarios.mensajes.list({ userId: yo }); return res.data.mensajes; }

La gestión de los tokens de actualización a gran escala es el principal problema de #1 en Gmail OAuth autogestionado. Rotación de tokens, migraciones de bases de datos, fallos silenciosos en tokens caducados, todo esto se maneja automáticamente cuando utilizas un proveedor unificado de API de correo electrónico.

Crea tu integración de Gmail
Unipile - Cuenta de servicio de Path 2
Camino 2 de 3

Ruta 2: Cuenta de servicio + delegación en todo el dominio (interno de Workspace)

Si su caso de uso es interno en una organización de Google Workspace (herramientas internas, automatización de recursos humanos o un panel de análisis de correo electrónico para toda la empresa), las cuentas de servicio con Delegación para todo el dominio (DWD) le permiten acceder a los buzones sin flujos de consentimiento por usuario. Un administrador de Workspace otorga la delegación una vez. La advertencia crítica: esta vía no funciona para direcciones de Gmail personales.

Límite estricto - leer antes de empezar

Las cuentas de servicio no pueden acceder a cuentas personales de Gmail (@gmail.com). DWD solo funciona dentro de un dominio de Google Workspace. Si sus usuarios se registran con direcciones de Gmail personales, debe usar la Ruta 1 (ID de cliente OAuth) o la Ruta 3 (API unificada). Intentar DWD en una cuenta personal devuelve un error 403.

Administrador de espacio de trabajo requerido DWD debe ser configurado por un administrador de Google Workspace en admin.google.com. No puedes hacer esto como desarrollador sin acceso de administrador.

Seguridad de claves JSON: La clave JSON de cuenta de servicio es una credencial de larga duración. Trátela como una clave privada: rótela regularmente y nunca la confirme en el control de código fuente.

Declaración de ámbito requerida: El administrador debe aprobar explícitamente cada alcance de Gmail durante la configuración de DWD. No puedes solicitar alcances en tiempo de ejecución. Ver Guía de DWD de Google.

gmail-service-account.py
from google.oauth2 import cuenta de servicio from googleapiclient.discovery import construir # Ruta a la clave JSON de tu cuenta de servicio ARCHIVO_CUENTA_DE_SERVICIO = 'cuenta-de-servicio.json' ÁMBITOS = [ 'https://www.googleapis.com/auth/gmail.readonly' ] #: Suplantar la identidad de un usuario en el dominio de Workspace # (La delegación para todo el dominio debe ser habilitada por el administrador) def obtener_servicio_gmail(correo_electronico_del_usuario): acreditaciones = service_account.Credentials.desde_archivo_de_cuenta_de_servicio( ARCHIVO_DE_CUENTA_DE_SERVICIO, ámbitos=ÁMBITOS ) # Esto es una delegación en todo el dominio: suplantar la identidad de un usuario créditos delegados = créditos.con_asunto(correo_electronico_del_usuario) return construir('Gmail', 'v1', credenciales=credenciales_delegadas) #: Listado de mensajes de un usuario del espacio de trabajo servicio = obtener_servicio_gmail('alice@yourcompany.com') resultados = servicio.usuarios().mensajes().list( ID de usuario=yo ).ejecutar()
Funciona solo para usuarios de Workspace - nunca para cuentas personales de @gmail.com
Unipile - Ruta 3 API Unificada
Ruta 3 de 3 - Recomendado

Ruta 3 - API de correo electrónico unificada (Omita el código repetitivo de OAuth)

Si tu objetivo es leer, enviar o sincronizar correos electrónicos en una aplicación SaaS de producción, y prefieres no dedicar ciclos de ingeniería a la gestión de infraestructura OAuth, una API de correo unificada como Unipile abstrae toda la capa de autenticación. Comprende cómo funciona la sincronización de correo electrónico internamente, o ir directamente al código. Este enfoque también te ofrece Gmail, Outlook e IMAP bajo una única API, sin necesidad de integraciones separadas para cada proveedor.

No se requiere configuración de Google Cloud

No hay ID de cliente OAuth, ni pantalla de consentimiento, ni revisión de ámbitos con Google. La propia aplicación OAuth verificada de Unipile se encarga de la autorización del usuario.

Rotación automática de tokens

Los tokens de acceso y los tokens de actualización son gestionados enteramente por Unipile. Tu base de datos nunca almacena un token de Google OAuth.

Funciona para Gmail personal + Outlook + IMAP

Una API, tres universos de proveedores. Cuando tú compara proveedores de API de sincronización de correo electrónico, el soporte entre proveedores es un diferenciador importante.

Entrega de webhook en mensajes nuevos

En lugar de consultar la API de Gmail, Unipile envía eventos de correo electrónico nuevos a tu endpoint de webhook en tiempo real, por cuenta enlazada.

Proveedores compatibles: Gmail Outlook IMAP
unipile-gmail.js
// 3 líneas para leer un buzón de correo de Gmail a través de Unipile // No configuración de OAuth, no gestión de tokens const { UnipileClient } = require('unipile-node-sdk'); const client = new UnipileClient({ token: process.env.UNIPILE_API_KEY }); // Listar correos electrónicos de una cuenta de Gmail vinculada // accountId = el ID de cuenta enlazada de Unipile const correos electrónicos = await cliente.email.listaMensajes({ account_id: 'id-cuenta-vinculada', límite: 20 }); // Enviar un correo electrónico en nombre de la cuenta enlazada await cliente.email.enviar({ account_id: 'id-cuenta-vinculada', to: 'recipient@example.com', tema: 'Hola desde Unipile', body: 'Ningún token OAuth a la vista.' }); Funciona idénticamente para Outlook e IMAP // Solo cambia el account_id
Mismo código para cuentas enlazadas de Gmail, Outlook e IMAP

Crea tu integración de Gmail sin operaciones de OAuth

Empieza con la Guía completa de integración de la API de Gmail, luego despliegue con Unipile como su capa de autenticación y sincronización.

Empezar a construir Ver documentos
Solución de problemas

Errores comunes al intentar usar una clave de API con Gmail

Si has llegado a este artículo porque tu llamada a la API de Gmail está fallando, aquí tienes los dos errores que encontrarás y lo que significa cada uno, con el cuerpo de respuesta sin procesar para que los reconozcas al instante.

HTTP 401 Se requiere inicio de sesión / NO AUTENTICADO
¿Qué causa eso?

Enviaste una solicitud a la API de Gmail con una clave API (?clave=AIza...) o sin ninguna autorización. La API de Gmail requiere un token de acceso OAuth 2.0 válido en el Autorización: Bearer encabezado. Este es el primer error que verás al experimentar con una clave de API por primera vez.

Corregir: Implementa una de las 3 rutas de autenticación anteriores. La clave de API no es la solución: necesitas un token de acceso OAuth.

HTTP/1.1 401 No autorizado Content-Type: application/json { "error": { "code": 401,}, "mensaje": "La solicitud carece de credencial de autenticación requerida. Se esperaba un token de acceso OAuth 2, una cookie de inicio de sesión u otra credencial de autenticación válida. Consulte https:// developers.google.com/ identity/sign-in/web/...", "estado": "NO AUTENTICADO", "errores": [{ "mensaje": "Se requiere inicio de sesión", "dominio": "googleapis.com", "razón": "requerida", "ubicación": "Authorization", "tipoUbicación": "encabezado" }] } }
HTTP 403 Límite diario de uso no autenticado excedido
¿Qué causa eso?

Tras solicitudes repetidas y no autenticadas (incluso con una clave API), el sistema de cuotas de Google bloquea posteriormente las llamadas no autenticadas desde tu IP o proyecto. Esto no es un límite de frecuencia para usuarios autenticados; significa específicamente que Tus solicitudes nunca fueron autenticadas y has agotado la pequeña cuota gratuita para llamadas anónimas.

Corregir: Lo mismo que arriba: su enfoque de clave API nunca funcionará. Use tokens de acceso OAuth 2.0. Este error desaparecerá una vez que sus solicitudes lleven un token de portador válido.

HTTP/1.1 403 Prohibido Content-Type: application/json { "error": { "code": 403,{ "code": 429, "message": "Se ha superado el límite diario de uso no autenticado. El uso continuado requiere registro.", "data": { "message": "Se ha superado el límite diario de uso no autenticado. El uso continuado requiere registro.", "status": "RESOURCE_EXHAUSTED", "errors": [ { "message": "Se ha superado el límite diario de uso no autenticado.", "domain": "usageLimits", "reason": "dailyLimitExceededUnreg" } ] } }
Referencia

Alcances de la API de Gmail que realmente necesitarás

Una vez que aceptas que se requiere OAuth, la selección de alcance es la siguiente decisión crítica. Google clasifica los alcances de Gmail en tres niveles según la sensibilidad de los datos que exponen. Solicitar más de lo que necesitas activa un proceso de verificación más largo y, en algunos casos, una evaluación de seguridad completa por parte de Google.

Niveles de verificación de alcance

Alcances sensibles (amarillo) requerir que Google revise tu pantalla de consentimiento OAuth y verifique la política de privacidad de tu aplicación. Ámbitos restringidos (rojo) requieren una evaluación de seguridad formal, una demostración en video y, a veces, una auditoría de seguridad de terceros. Planifique un mínimo de 2 a 6 semanas para la aprobación de un alcance restringido. Si utiliza Unipile como su capa de autenticación, este proceso de verificación recae en Unipile, no en su aplicación.

Alcance Nivel de acceso Nivel Caso práctico
gmail.lectura Leer todos los mensajes, hilos, etiquetas, configuraciones Sensible Análisis de correo electrónico, herramientas de auditoría de bandeja de entrada, sincronización con CRM (solo lectura)
gmail.enviar Enviar correo electrónico en nombre del usuario Sensible Correos electrónicos transaccionales del lado del usuario, seguimientos del CRM, herramientas de prospección
gmail.redactar Crear, leer, actualizar, eliminar borradores; enviar mensajes Sensible Integraciones de composer de correo electrónico, gestión de borradores
gmail.modificar Leer, enviar, modificar (etiquetas, archivar) - no eliminar Restringido Gestión completa de la bandeja de entrada, sincronización del CRM con escritura, flujos de trabajo de archivo
mail.google.com Acceso completo: leer, escribir, eliminar, configurar Restringido Clientes de correo electrónico con todas las funciones, herramientas de copia de seguridad, migración de administradores
metadatos de gmail Solo metadatos del mensaje (sin cuerpo) No sensible Análisis de volumen de correos electrónicos, patrones de remitente/destinatario (sin contenido)

Crear una aplicación SaaS multi-inquilino que necesite gmail.modify o mail.google.com? La revisión de alcance restringido añade semanas a tu cronograma de lanzamiento. Con Unipile, te saltas por completo la revisión de la pantalla de consentimiento: la aplicación OAuth verificada de Unipile cubre los alcances que tu integración necesita.

Construir con Unipile
Guía de decisión

Árbol de decisión: ¿Qué método de autenticación para su caso de uso?

Responda tres preguntas y sabrá exactamente qué ruta de autenticación de la API de Gmail se aplica a su proyecto. No hay una respuesta universal: cada ruta resuelve un problema diferente. Para la guía completa Guía completa de integración de la API de Gmail, continúe hasta el centro de Gmail. Para el equivalente para Outlook / Microsoft 365, consulte nuestra guía de OAuth de Microsoft Graph.

Caso de uso A

Aplicación SaaS donde los clientes conectan su propio Gmail

¿Sus usuarios son externos (no sus empleados)?

Sí, son tus clientes con cuentas personales de Gmail o Google Workspace.

¿Necesitas admitir muchos dominios de Google diferentes?

Sí, multitenant. Cada usuario conecta su propia cuenta.

Ruta recomendada Ruta 1 - ID de cliente de OAuth

O Ruta 3 (API Unificada) para omitir la infraestructura de OAuth por completo.

Caso de uso B

Herramienta interna para tu propia organización de Google Workspace

¿Todos los usuarios pertenecen al mismo dominio de Workspace (sus empleados)?

Sí, solo cuentas de company.com. No se permiten usuarios externos de Gmail.

¿Tiene un administrador de Workspace que pueda configurar DWD?

Sí - acceso de administrador disponible en admin.google.com.

Ruta recomendada Ruta 2 - Cuenta de Servicio + DWD

No flujos de consentimiento por usuario. El administrador delega una vez.

Caso de uso C - El más común

Aplicación SaaS que necesita Gmail + Outlook + IMAP bajo una sola API

¿Tienen sus usuarios una combinación de cuentas de Gmail, Outlook e IMAP?

Sí, no puedes predecir a qué proveedor se conectará cada usuario.

¿Quieres evitar ejecutar integraciones OAuth separadas por proveedor?

Sí, administrar Google OAuth + Microsoft OAuth + IMAP es demasiada complejidad.

Ruta recomendada Ruta 3 - API Unificada (Unipile)

Una clave API. Gmail, Outlook, IMAP. Sin operaciones OAuth.

Empieza a construir tu integración de Gmail hoy

Sin importar el camino que elijas, Unipile te ofrece una Resumen de la API unificada de correo electrónico para comprender la arquitectura antes de comprometerte con un enfoque. O salta directamente al panel y vincula tu primera cuenta en minutos.

Constrúyelo con Unipile Lea la documentación
PREGUNTAS FRECUENTES

Preguntas frecuentes

Las preguntas más comunes sobre la autenticación de la API de Gmail, claves API vs. tokens OAuth y cómo acceder a Gmail de forma programática sin gestionar tú mismo OAuth.

01

¿Puedo usar una clave API de Google para acceder a Gmail?

No. Las claves de la API de Google solo funcionan para APIs públicas no específicas del usuario, como Maps, Translate o YouTube Data (contenido público). La API de Gmail accede a datos del buzón de usuario privado, lo que requiere el consentimiento explícito del usuario a través de OAuth 2.0. Enviar una solicitud a la API de Gmail solo con una clave de API devuelve un 401 Inicio de sesión requerido o Límite diario de 403 para uso no autenticado excedido error - cada vez, sin excepción.

02

¿La API de Gmail requiere OAuth 2.0?

Sí, siempre. El acceso a la API de Gmail es acceso a datos del usuario, lo que significa que cada solicitud debe estar vinculada a un usuario autenticado que haya otorgado su consentimiento a través de un flujo de OAuth 2.0. No hay solución alternativa: ni clave de API, ni autenticación básica (obsoleto septiembre de 2024), sin encabezado mágico. Las tres rutas de autenticación admitidas son: ID de cliente OAuth 2.0 (multitenant), Cuenta de servicio con delegación en todo el dominio (solo Workspace) y una API de correo unificada como Unipile que se encarga de la capa OAuth por ti.

03

¿Cuál es la diferencia entre una clave de API y un ID de cliente de OAuth en Google Cloud?

En Clave de API identifica tu proyecto de Google Cloud a efectos de facturación y cuotas. Solo funciona para las APIs que sirven datos públicos (Maps, Translate, etc.). ID de cliente de OAuth se utiliza para iniciar un flujo de consentimiento donde un usuario real aprueba el acceso de su aplicación a su cuenta. El ID de cliente OAuth genera el token de acceso y el token de actualización que la API de Gmail realmente acepta. Estos son dos mecanismos completamente diferentes: uno identifica un proyecto, el otro autentica a un usuario.

04

¿Puede una cuenta de servicio leer Gmail sin el consentimiento del usuario?

Solo si Delegación en todo el dominio (DWD) es habilitado por un administrador de Google Workspace. Una cuenta de servicio por sí sola no puede acceder a ninguna bandeja de entrada de Gmail. Con DWD configurado, la cuenta de servicio puede suplantar a cualquier usuario de la organización y acceder a su buzón sin consentimiento interactivo. Limitación crítica: esto solo funciona para cuentas de Google Workspace (empresariales). No funciona para direcciones de Gmail personales (@gmail.com). Ver Documentación oficial de DWD de Google.

05

¿Por qué la API de Gmail devuelve "Se requiere inicio de sesión" con mi clave de API?

Porque La API de Gmail no acepta claves de API. El 401 Inicio de sesión requerido error significa que la solicitud carece de un token de acceso OAuth 2.0 válido en Authorization Encabezado. La API de Gmail espera: Autorización: Portador {access_token} - donde se obtuvo el token de acceso a través de un flujo OAuth 2.0 (código de autorización, JWT de cuenta de servicio o un token unificado de API). Simplemente adjuntando ?clave=TU_CLAVE_API A la API de Gmail no funcionará y devolverá 401 o 403.

06

¿Hay alguna forma de usar la API de Gmail sin tener que gestionar OAuth yo mismo?

Sí. Una API de correo electrónico unificada como Unipile maneja toda la capa de OAuth: la pantalla de consentimiento, el intercambio de tokens y la rotación silenciosa de tokens de actualización. Tu aplicación nunca almacena ni gestiona tokens de acceso o tokens de actualización. Llamas a la API de Unipile con tu propia clave de API, y Unipile se encarga de toda la comunicación OAuth con Google en tu nombre. Cuentas vinculadas. Esto elimina el proceso de aprobación de la pantalla de consentimiento de Google y la complejidad de la gestión de tokens de su código, y le brinda Gmail, Outlook e IMAP bajo una interfaz unificada.

¿Sigues teniendo preguntas sobre la autenticación de la API de Gmail? Nuestro equipo puede guiarte a través de la configuración correcta para tu caso de uso.

Hable con un experto
es_ESES