Google Sheets n8n Anmeldedaten schlagen wiederholt fehl

Hey zusammen, ich stecke bei einem frustrierenden OAuth-Problem fest, das n8n mit Google Sheets verbindet, und könnte frische Augen gebrauchen.

Mein Setup:

  • Self-hosted n8n via Docker
  • ngrok für Webhook-/OAuth-Redirects

Was passiert:
Der OAuth-Flow läuft bis zum Ende durch, ich wähle mein Konto, erteile Berechtigungen, aber statt des Bildschirms „Verbindung erfolgreich

Das „Unauthorized

Das sieht noch nicht wie ein Google Sheets-Berechtigungsproblem aus. Es sieht eher wie ein OAuth-Callback-Identitätsproblem aus.

Der Hinweis ist, dass der Ablauf die Kontoauswahl und Zustimmung vollständig durchläuft und dann bei der endgültigen Umleitung fehlschlägt. Das ist normalerweise der Ort, an dem eine Nichtübereinstimmung zwischen n8n-Basis-URL / Webhook-URL / Google-autorisiertem Redirect-URI auftaucht.

Ich würde jetzt damit aufhören, die Bereiche zu ändern, und erst einmal eins überprüfen:

Stimmt die Redirect-URL, die in den n8n-Google Sheets-Anmeldedaten angezeigt wird, Zeichen für Zeichen mit dem Google Cloud-Authorized-Redirect-URI überein, einschließlich Protokoll, ngrok-Domain, Pfad und abschließendem Schrägstrich?

Veröffentliche keine Client-Secrets oder Tokens öffentlich. Das einzige, was öffentlich sicher verglichen werden kann, ist die geschwärzte Rückruf-Domain-/Pfadform.

Hey! Das ist ein klassischer ngrok + Docker OAuth Redirect Mismatch. Die häufigsten Ursachen:

1. ngrok URL hat sich zwischen Sitzungen geändert
ngrok Free Tier generiert bei jedem Neustart eine neue URL. Wenn du ngrok nach der Einrichtung des OAuth-Clients neu gestartet hast, stimmt der Redirect URI in der Google Cloud Console nicht mehr überein. Lösung: Aktualisiere die autorisierten Redirect URIs in der Google Cloud Console auf die neue ngrok URL: https://<new-ngrok>.ngrok-free.app/rest/oauth2-credential/callback

2. WEBHOOK_URL Umgebungsvariable fehlt oder ist veraltet
In deiner Docker Compose brauchst du:

N8N_EDITOR_BASE_URL=https://<your-ngrok-url>
WEBHOOK_URL=https://<your-ngrok-url>

Ohne diese konstruiert n8n den Callback von localhost intern, was niemals dem entspricht, was Google erwartet.

3. Google App im Test-Modus
Wenn der OAuth-Zustimmungsbildschirm im Test-Modus ist, können nur explizit aufgelistete Test-Benutzer autorisieren. Stell sicher, dass dein Konto in der Testbenutzerliste enthalten ist.

Schnelle Checkliste:

  • Stimmt der Redirect URI in der Google Cloud Console genau mit <ngrok-url>/rest/oauth2-credential/callback überein?
  • Ist WEBHOOK_URL in deinen Docker-Umgebungsvariablen gesetzt?
  • Ist dein Konto in der OAuth-Testbenutzerliste enthalten?

Das Muster „funktioniert plötzlich nicht mehr

Es sieht so aus, als würde dein Konto nicht zur Gruppe der Test-Benutzer gehören. Füge es dort hinzu und versuche es erneut.