Gmail i Google OAuth2
Què és OAuth2?
OAuth2 és un protocol d'autorització que permet a una aplicació (n8n) accedir als teus recursos de Google (Gmail, Drive, Sheets...) sense que li donis la teva contrasenya.
El flux funciona així:
sequenceDiagram
participant U as Tu (usuari)
participant N as n8n
participant G as Google
U->>N: "Vull connectar Gmail"
N->>G: "Necessito permisos per a Gmail"
G->>U: "Confirmes que n8n pot accedir a Gmail?"
U->>G: "Si, confirmo"
G->>N: "Aqui tens un token d'acces"
N->>N: Guarda el token (cifrat)
N->>G: Peticions amb el token
G->>N: Resposta amb les dades
Configuració de Google Cloud Console
Abans de configurar n8n, has de crear un projecte a Google Cloud Console i habilitar les APIs necessaries.
Pas 1: Crear un projecte a Google Cloud
- Ves a
console.cloud.google.com - Fes clic a "Seleccionar projecte" → "Nou projecte"
- Posa el nom:
n8n-integracions-[el-teu-nom] - Fes clic a "Crear"
Pas 2: Habilitar les APIs necessaries
- Ves a "API i serveis" → "Biblioteca"
- Cerca i habilita:
- Gmail API
- Google Sheets API (per a pràctiques futures)
- Google Drive API (necessaria per a Sheets)
Pas 3: Crear les credencials OAuth2
- Ves a "API i serveis" → "Credencials"
- Fes clic a "+ Crear credencials" → "ID de client OAuth"
- Si no tens configurat l'acord de consentiment, fes-ho primer:
- Tipus d'usuari: Extern
- Nom de l'aplicació:
n8n Local - Correu de suport: el teu correu
-
Afegeix el teu correu als usuaris de prova
-
Crea el client OAuth2:
- Tipus d'aplicació: aplicació web
- Nom:
n8n OAuth Client -
URI de redireccionament autoritzat:
http://localhost:5678/rest/oauth2-credential/callback -
Anota el Client ID i el Client Secret
URI de redireccionament
L'URI de redireccionament ha de coincidir exactament amb el que configures a n8n. Si n8n està a una URL diferent (ex: https://n8n.example.com), adapta l'URI.
Pas 4: Configurar la credencial a n8n
- A n8n, ves a Credentials → + Add Credential
- Cerca i selecciona Google OAuth2 API
- Emplena:
- Client ID: el que has copiat de Google Cloud
- Client Secret: el que has copiat de Google Cloud
- Fes clic a Connect my account
- Segueix el flux de Google per autoritzar n8n
- Un cop autoritzat, guarda la credencial amb el nom
Google OAuth2 - [el teu nom]
Usar la credencial a un node Gmail
Un cop tens la credencial configurada:
- Afegeix el node Gmail al workflow
- Al camp Credential, selecciona la credencial que acabes de crear
- Escull la operació i configura els paràmetres
Exemple: Enviar un correu des d'n8n
flowchart LR
A([Manual Trigger]) --> B[Code\nDades del correu] --> C[Gmail\nEnviar]
Configuració del node Gmail:
Credential: Google OAuth2 - [el teu nom]
Resource: Email
Operation: Send
From: el-teu-compte@gmail.com
To: destinatari@example.com
Subject: Test n8n - {{ $now.toLocaleString() }}
Message: Hola! Aquest correu s'ha enviat automaticament des d'n8n.
Exemple: Llegir correus no llegits
Credential: Google OAuth2 - [el teu nom]
Resource: Email
Operation: Get Many
Filters:
Read Status: unread
Received After: {{ $now.minus({ hours: 24 }).toISO() }}
Limit: 10
Permisos necessaris (Scopes)
Quan n8n demana autorització a Google, sol·licita uns permisos específics (scopes). Els principals per a Gmail:
| Scope | Descripció |
|---|---|
gmail.readonly |
Llegir correus i etiquetes |
gmail.send |
Enviar correus |
gmail.modify |
Modificar, llegir, enviar |
gmail.compose |
Crear esborranys i enviar |
Principi de mínims privilegis
Demana només els permisos que necessites. Si el workflow només necessita llegir correus, no demanes permisos d'escriptura.
Renovació del token
Els tokens OAuth2 de Google expiren. n8n els renova automàticament usant el refresh token. Si la credencial deixa de funcionar:
- Ves a Credentials → edita la credencial
- Fes clic a Reconnect
- Segueix el flux de Google de nou
Miniactivitat ACN8N13
Configura la credencial Google OAuth2 a n8n i crea un workflow que: 1. Llegeixi els 5 correus més recents de la teva safata d'entrada 2. Mostri el remitent, assumpte i data de cada correu 3. Filtra i mostra només els que han arribat en les últimes 24 hores