n8n Google OAuth 設定完全攻略:不再每小時斷線(2026)
手把手教你在 GCP Console 設定 Google OAuth 憑證給 n8n 用,解決 token 過期斷線、未經驗證警告等常見問題,設定一次穩定跑。
Google 的 OAuth 設定是 n8n 使用者被卡住最多次的關卡。想串 Gmail、Google Sheets、Google Drive?都得先過這關。
這篇把整個流程拆成步驟圖解,跟著做一次就搞定,不再每小時斷線。
為什麼 Google 憑證這麼難搞
Google 的安全機制很嚴格,不是隨便一個程式就能存取你的 Google 帳號資料。你得先去 Google Cloud Console 「申請」一個身份,告訴 Google:「這個程式是我做的,我允許它存取我的帳號」。
這個申請流程就是設定 OAuth 憑證。難搞的原因:
- GCP Console 介面複雜 — 選單太多,不知道要去哪裡
- Testing 模式 7 天過期 — 沒發布就要每週重新授權
- 「未經驗證」警告嚇人 — 看到警告就不敢按
- Redirect URI 設定容易錯 — 差一個字就串不上
但其實只要照步驟做,15 分鐘就搞定。
Step 1:GCP Console 建立專案
- 打開 Google Cloud Console
- 左上角點「選取專案」→「新增專案」
- 專案名稱隨便取,例如
n8n-automation - 點「建立」
如果你已經有 GCP 專案,可以用現有的,不用再建。
Step 2:啟用需要的 API
你想在 n8n 裡用哪個 Google 服務,就要啟用對應的 API。
- 左側選單 → API 和服務 → 程式庫
- 搜尋你要用的服務,點進去 → 啟用
常用 API 清單:
| Google 服務 | 要啟用的 API |
|---|---|
| Gmail | Gmail API |
| Google Sheets | Google Sheets API |
| Google Drive | Google Drive API |
| Google Calendar | Google Calendar API |
| Google Docs | Google Docs API |
| Google Contacts | People API |
實測過的,放心用。如果你不確定要啟用哪個,後面 n8n 授權失敗的時候,錯誤訊息會告訴你缺哪個 API。
Step 3:設定 OAuth 同意畫面
這一步是告訴 Google 「這個程式是做什麼的、要存取哪些資料」。
- 左側選單 → API 和服務 → OAuth 同意畫面
- User Type 選 External(除非你有 Google Workspace,選 Internal 更方便)
- 填寫基本資訊:
| 欄位 | 填什麼 |
|---|---|
| 應用程式名稱 | n8n Automation(隨便取) |
| 使用者支援電子郵件 | 你的 Gmail |
| 開發人員聯絡資訊 | 你的 Gmail |
- 範圍(Scopes):先跳過,後面 n8n 授權時會自動要求
- 測試使用者:加入你自己的 Gmail 帳號(這步很重要!)
- 儲存
關於「發布狀態」
OAuth 同意畫面有兩種狀態:
| 狀態 | 說明 |
|---|---|
| Testing | 只有「測試使用者」名單裡的帳號能用。Token 7 天過期,要重新授權。 |
| Production | 所有人都能用。Token 不會 7 天過期。但 Google 會顯示「未經驗證」警告。 |
這就是你每小時(或每 7 天)斷線的原因:你的 OAuth 還在 Testing 模式。
Step 4:建立 OAuth 憑證
- 左側選單 → API 和服務 → 憑證
- 點「+ 建立憑證」→ OAuth 用戶端 ID
- 應用程式類型:選 網頁應用程式
- 名稱:
n8n(隨便取) - 已授權的重新導向 URI:這是關鍵步驟
取得 Redirect URI
在 n8n 裡面:
- 設定 → Credentials → 新增 Credential
- 選你要用的 Google 服務(例如 Google Sheets OAuth2 API)
- 複製上面顯示的 OAuth Redirect URL
格式通常是:
- n8n Cloud:
https://app.n8n.cloud/rest/oauth2-credential/callback - 自架 n8n:
https://你的網址/rest/oauth2-credential/callback
把這個 URL 貼到 GCP 的「已授權的重新導向 URI」裡面。
- 點「建立」
- 複製 Client ID 和 Client Secret(只會顯示一次,記得存好)
Step 5:在 n8n 端設定
回到 n8n 的 Credential 設定頁面:
- 貼上 Client ID
- 貼上 Client Secret
- 點「Sign in with Google」按鈕
- 瀏覽器會跳出 Google 授權頁面
- 選擇你的帳號 → 允許
如果你看到「未經驗證」的警告畫面——別怕,下一段教你怎麼處理。
「未經驗證」警告怎麼處理
授權的時候,Google 會顯示一個嚇人的頁面:「Google 尚未驗證這個應用程式」。
這很正常。因為你的 OAuth 沒有經過 Google 的安全審查(審查要好幾週,而且只有要給大眾用的 App 才需要)。
怎麼繞過:
- 點左下角的「進階」
- 點「前往 n8n Automation(不安全)」
- 允許存取
這不是真的不安全,只是 Google 的提醒機制。你自己做的 App、自己授權自己的帳號,沒問題的。
踩過的坑一次整理:如果「進階」按鈕沒出現,確認你有把自己加進測試使用者名單(Step 3 的步驟 5)。
防止斷線的關鍵設定
設定好了但還是會斷線?照這個清單檢查:
檢查 1:發布到 Production
最常見的斷線原因就是 OAuth 還在 Testing 模式。
- GCP Console → OAuth 同意畫面
- 點「發布應用程式」
- 確認狀態變成 In Production
這樣 Token 就不會 7 天過期了。
檢查 2:確認 n8n 的 WEBHOOK_URL 設定正確
自架 n8n 的話,環境變數要設定:
N8N_HOST=你的網域
N8N_PROTOCOL=https
WEBHOOK_URL=https://你的網域/
如果這些設定不對,OAuth 的 callback 會失敗。
檢查 3:不要刪除或重新建立憑證
每次重新建立 OAuth 憑證,之前的授權就會失效。建立一次就好,不要動它。
檢查 4:GCP 專案的配額
如果你的 workflow 打 Google API 太頻繁(例如每秒打好幾次),可能被限速。到 GCP Console → API 和服務 → 儀表板 → 看你的 API 用量和配額。
常見錯誤
錯誤 1:Error 400: redirect_uri_mismatch
原因:n8n 的 Redirect URI 跟 GCP 設定的不一樣。
解法:
- 去 n8n Credential 設定頁面,複製 OAuth Redirect URL
- 確認 GCP → 憑證 → 你的 OAuth Client → 已授權的重新導向 URI 完全一致
- 注意結尾有沒有
/,http和https有沒有搞混
錯誤 2:Error 403: access_denied
原因:你的帳號不在測試使用者名單裡。
解法:GCP → OAuth 同意畫面 → 測試使用者 → 加入你的 Gmail。
錯誤 3:Token 過期(invalid_grant)
原因:大概率是 OAuth 還在 Testing 模式,Token 7 天過期。
解法:把 OAuth 發布到 Production(見上面「防止斷線的關鍵設定」)。
錯誤 4:API has not been enabled
原因:你忘了啟用對應的 Google API。
解法:GCP → API 和服務 → 程式庫 → 搜尋並啟用你要用的 API。
錯誤 5:This app is blocked
原因:你的 Google Workspace 管理員限制了第三方 App 存取。
解法:請公司的 Google Workspace 管理員在「管理控制台 → 安全性 → API 控制」裡面允許你的 App。
OAuth 2.0 vs Service Account
除了 OAuth,Google 還有另一種憑證方式:Service Account。
| OAuth 2.0 | Service Account | |
|---|---|---|
| 用途 | 存取你自己的 Google 帳號資料 | 存取組織共用的資料 |
| 授權方式 | 瀏覽器授權 | JSON key file |
| 適用場景 | Gmail、個人 Drive | Google Workspace 組織內的 Sheets、Drive |
| Token 管理 | 自動刷新(設定好的話) | 不需要刷新 |
如果你是公司用,且有 Google Workspace,Service Account 可能更穩定。詳細設定看 n8n 官方 Service Account 文件。
延伸閱讀
- n8n 常見錯誤 Top 10 — 更多 n8n 錯誤排除
- n8n 完整入門指南 — 還沒裝好 n8n 從這開始
- n8n Expression 語法速查表 — 串好 Google API 後用 Expression 取資料
- n8n Expression 與進階技巧大全 — 進階技巧總整理
外部參考:
Google OAuth 設定搞不定?我們的每週限量包有附 OAuth 設定的完整 checklist,照著打勾就好。
FAQ
一個 OAuth 憑證可以給多個 Google 節點用嗎?
可以。你在 n8n 建立的 Google OAuth Credential 可以同時給 Gmail、Google Sheets、Google Drive 等節點使用,只要你在授權的時候允許了對應的 scope(權限範圍)。
Google 免費帳號和 Google Workspace 帳號有差嗎?
有差。Workspace 帳號可以選 Internal 類型的 OAuth,不會有「未經驗證」的警告,也不用發布到 Production。免費帳號只能選 External,要自己處理那些警告。
n8n Cloud 需要自己設定 Google OAuth 嗎?
需要。n8n Cloud 幫你處理了 HTTPS 和 Redirect URI,但 GCP 專案和 OAuth 憑證還是要自己建。好處是你不用擔心 Redirect URI 的格式問題。