iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
AI & Data

為你自己學 n8n系列 第 9

[為你自己學 n8n] 第 9 天,Google 大神駕到:串接服務的必修儀式!

  • 分享至 

  • xImage
  •  

Yes

影片連結:https://www.youtube.com/watch?v=wX6ZMZ-xwd0
YouTube 頻道:https://www.youtube.com/c/kaochenlong

今天這集來介紹如何串接 Google 服務,包括 Gmail、行事曆、Google Drive、Google Sheets 等。透過設定 Google 憑證,你就可以整合所有 Google 服務,非常方便實用。

但是,串接 Google 服務較為複雜,需要取得特定憑證。不像上集介紹的 Browserless 只需貼上 Token,Google 為了保護帳號與資料安全,認證流程較為繁瑣。這也是我們開課時最不想教的單元,不是因為困難,而是步驟較多且複雜,每次現場教學至少需要 30 分鐘以上。

接下來我們就來看看如何取得和設定 Google 憑證,步驟雖然有點多,但只要跟著做,一定可以完成。

參考講義
完整流程截圖已放置於:https://5xcmp.us/google-cloud
如有疑問可參考講義內容。

我們的目標是先設定一個服務(如 Gmail),一旦串接成功,其他服務也能使用同一套憑證。

在 n8n 中開始設定 Credential

設定方式與上集的 Browserless 類似,需要建立一組 credential:

  1. 點擊左側選單的「Credentials」
  2. 點擊「+ Add Credential」
  3. 搜尋並選擇「Gmail OAuth2 API」
  4. 點擊「確定」進入下一步

這裡就是今天的重點設定區域。首先說明頁面上的重要資訊:

上方有一串 OAuth Redirect URL,這是 Google 認證成功後的回調地址。每個人的網址都不同,前半部是你的主機位址,後半部是固定路徑。

目標 - 取得 Client ID 和 Client Secret

我們的目標是取得 Google 的 client IDclient secret。取得這兩組金鑰後,透過幾個簡單步驟就能完成串接,之後所有 Google 服務都能使用同一套憑證。記住,我們的目標是跟 Google 取得 client IDclient secret

開啟瀏覽器,前往 Google Cloud Console。進入後會看到 Google Cloud Console 的管理界面,可能會稍微複雜。如果操作中迷路了,可以參考前面提到的講義。

因為我之前已有其他專案,你看到的畫面可能不太一樣。首次使用者可能會看到歡迎畫面,點擊同意服務條款即可。接著系統會要求選擇專案,如果沒有現成專案,就建立一個新專案。

建立新專案

  1. 點擊頂部的專案選擇器
  2. 選擇「新增專案」
  3. 輸入專案名稱(可自由命名,如 n8n-integration)
  4. 確保名稱不與現有專案重複
  5. 組織欄位可留空
  6. 點擊「建立」

建立過程需要幾秒到一、兩分鐘,完成後可切換到該專案。此時畫面會顯示「歡迎使用」,確認目前專案已建立完成。

啟用 API 服務

專案建立完成後,需要啟用要使用的 Google 服務 API。

  1. 在左側選單找到「API 和服務」
  2. 點擊「啟用 API 和服務」
  3. 進入 API 資料庫頁面

啟用各項 Google API

API 資料庫包含 Gmail、YouTube 等眾多服務。建議一次啟用所有常用服務:

  • Gmail API
  • Google Calendar API
  • Google Drive API
  • Google Sheets API

建議一次啟用所有常用服務,避免日後重複設定。API 啟用是免費的,不會產生額外費用。

設定 OAuth 同意畫面

啟用 API 後,需要設定 OAuth 同意畫面,告訴 Google 你的應用程式資訊。

  1. 在左側選單點擊「OAuth 同意畫面」
  2. 點擊「開始設定」

選擇使用者類型

選擇應用程式的使用者類型:

  • 內部:公司 Google Workspace 帳號,僅供內部使用
  • 外部:個人 Gmail 帳號或開放外部使用(個人使用建議選此項)

填寫應用程式資訊

  1. 應用程式名稱:輸入識別名稱(如:n8n Automation)
  2. 使用者支援電子郵件:填寫你的 email
  3. 開發人員聯絡資訊:同樣填寫你的 email
  4. 點擊「儲存並繼續」

後續頁面(範圍、測試使用者)可使用預設值,直接點擊「儲存並繼續」完成設定。

建立 OAuth 用戶端

設定完 OAuth 同意畫面後,接著建立 OAuth 用戶端:

  1. 選擇「OAuth 用戶端 ID」
  2. 應用程式類型選擇「網頁應用程式」
  3. 輸入名稱(如:n8n),僅供控制台識別使用

設定授權資訊

接下來是最重要的兩個設定項目:

設定重新導向 URI

已授權的重新導向 URI

  1. 點擊「新增 URI」
  2. 貼上從 n8n 複製的完整 OAuth Redirect URL
    • 例如:https://你的n8n網址/rest/oauth2-credential/callback

設定 JavaScript 來源

已授權的 JavaScript 來源

  1. 點擊「新增 URI」
  2. 貼上你的 n8n 主網址(不含路徑)
    • 例如:https://你的n8n網址(結尾不要斜線)

兩者差別:

  • 重新導向 URI:完整路徑,OAuth 認證完成後的回調地址
  • JavaScript 來源:僅主網址,授權 JavaScript 來源網域

設定完成後點擊「建立」,可能需要幾分鐘處理時間。

取得 Client ID 和 Client Secret

建立 OAuth 用戶端後,Google 會顯示憑證資訊:

  1. 在彈出視窗中會看到「用戶端 ID」和「用戶端密碼」
  2. 將這兩個值複製並妥善保存

安全提醒
請勿外洩這兩組金鑰!如果不小心外洩,別人可能可以使用你的帳號權限。

在 n8n 中設定憑證

取得憑證資訊後,回到 n8n 的 Gmail OAuth2 API 設定頁面:

  1. 在「Client ID」欄位貼上用戶端 ID
  2. 在「Client Secret」欄位貼上用戶端密碼
  3. 貼上後,底下會出現「Sign in with Google」按鈕

這個按鈕表示可以開始進行 Google 帳號授權流程。點擊「Sign in with Google」後,選擇你的 Google 帳號,可能會出現「存取遭拒」的訊息。這是正常現象,因為還沒有將你的帳號加入測試使用者清單。需要先完成下一步驟的設定。

設定測試使用者或發布應用程式

為了解除存取限制,有兩種選擇:

做法一:發布應用程式

直接發布應用程式,讓所有人都可以使用。但對於個人使用 n8n 來說,通常不需要這麼做。

做法二:加入測試使用者

如果不發布應用程式,可以加入測試使用者。測試使用者上限為 100 位,對於個人或小團隊使用已經足夠。

完成 OAuth 認證

設定完測試使用者後,回到 n8n 的憑證設定頁面:

  1. 點擊「Sign in with Google」
  2. 選擇正確的 Google 帳號(必須是測試使用者中的帳號)

處理未認證警告

可能會出現「這個應用程式未經 Google 認證」的警告:

  1. 點擊「進階」
  2. 點擊「前往 [你的應用程式名稱](不安全)」

這是正常現象,因為我們沒有送 Google 審核。接著系統會詢問是否允許應用程式存取你的 Google 服務:

  1. 勾選所有需要的權限
  2. 點擊「繼續」

因為這是你自己的應用程式和帳號,可以安心授權。

設定完成

成功後會看到綠色的成功提示,表示連接成功!最後可以為這個憑證設定一個易識別的名稱(如:Gmail - 主帳號),然後點擊「Save」儲存。

至此,Google 服務的憑證設定已經完成!下一集將介紹如何使用這些憑證來實際操作 Gmail 收發信件。

關於送審的問題

是否需要送審?

對於個人使用來說,送審程序較為繁瑣且性價比不高,需要填寫大量資料。即使不送審,應用程式仍可正常使用,只是會出現未驗證的警告。建議個人使用時可接受此警告,畢竟這是自己建立的應用程式。

總結

至此,Google 服務串接設定已完成!

這是 Google 串接中最複雜的部分,但所有 Google 服務都使用相同的 Client ID 和 Client Secret。請妥善保存這組憑證,可重複用於其他 Google 服務。如果 Client ID 和 Client Secret 外洩,可以回到 Google Cloud Console 的憑證頁面,刪除現有的 OAuth 用戶端並重新建立。

下一步

本集介紹了 Google 服務串接的基礎設定。

下一集將示範如何使用這些憑證實際操作 Gmail、行事曆、Google Drive 等服務。設定完成後,所有 Google 服務都能使用相同憑證,後續操作將更加簡便。


上一篇
[為你自己學 n8n] 第 8 天,資料抓取三部曲:召喚 Headless Browser 應戰!
系列文
為你自己學 n8n9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言