
網站服務用「帳密」認證,n8n 是個機器人不會輸入帳密,要設定 n8n「證書」(Credential),讓它代表你整合各種服務。我覺得 n8n + Google 服務如虎添翼,但 Google 的認證網站卻很「反人類」,導致上課總有學員卡關,本文詳解服務帳戶 ( Service Account ) 申請細節,就發現其實很簡單。
你可把本文當小抄,忘了再查即可!隨着教課會持續更新,保持最新狀態。
本文目錄
Google 多種認證方式解析
Google 認證設定網址是「GCP,Google Cloud Console」,第一次用覺得是天書,久了以後,還是一樣~~,但它很有用啊!我們不求很懂,這裡教你最簡單的,就可以開始用好用的 Google 服務了。
Google 有 3 種認證方式:
- API 金鑰(API Key):這是最容易使用的,跟大部分服務類似,就是一長串文字貼進去就好了!可惜 Google 只有 Google Gemini 可用這麼好用的服務。
- 開放授權協定 2.0(OAuth2):這是好幾家科技公司合作制定的「授權標準協定」,包括 Google 和 Facebook 等,目的是讓人可以用大廠的帳號登入其他網站。例如「使用Google 認證登入 Line」。如果用它發現工作流突然放爛,很大機率是被 Google 踢掉了,這個服務代表你,權限與你相同。
- 服務帳戶(Service Account):顧名思義,這帳戶(Account)不是人用,而是「服務」(Service)用的,就是「『你的機器』對『 Google 的機器』」之間的認證。
😁 第一次看到這個名稱是不是以為用這個帳戶就可獲得 Google 特別的服務?並不是!
因為 n8n 是機器人,就是個「服務」,用「服務帳號」Service Account 讓服務有自己的帳號。
- 授權對象:針對「應用程式或服務」,而非個人使用者。
- 流程:為 n8n 建立一個專屬的「服務身分」。這個身分擁有自己的金鑰(通常是 JSON 格式),n8n 透過金鑰直接向 Google 驗證身分,並取得存取權。
- 優點:金鑰不會過期,且不受個人帳號密碼變更或停用的影響。一旦設定完成,它就能穩定地運作,非常適合後台自動化。
重點就在「不會過期」,我們睡覺時,n8n 仍然在工作,憑證過期要一一重新登入,否則工作流不執行會出大麻煩,甚至捱罵!
開始申請 Service Account
分幾個步驟,從 Google Cloud Platform (GCP) 設定、n8n 的 Credential 設定,到授予權限,開始吧!
接下來有幾個流程:
- 登入 GCP
- 新建或開啓專案
- 啓用想用服務的 API
- 建立服務帳戶
- 產生金鑰
- 到 n8n 建立憑證 (Credential)
第一步:Google Cloud Platform (GCP) 設定
這是最關鍵的一步,因為大部分的設定都在這裡完成。
1. 建立一個新的 GCP 專案(Project)

- 前往 Google Cloud Console。
- 點擊頂部的專案選擇器,選擇 New Project。
- 輸入一個有意義的專案名稱,例如
n8n-integrations
,然後建立。
2025/09/27 補充:最近 GCP 會跳出「$300 三個月試用優惠」訊息,要申請哦!沒使用不影響 Service Account 申請,但後續使用,就算免費服務都會跳出帳務錯誤訊息,很煩的。1
2. 啟用必要的 API





根據你需要使用的 n8n 節點,搜尋並啟用對應的 API。
每次打開 GCP 這個反人類的網站很麻煩,我建議你一次把常用服務的 API 都開好,那短期內不用回恐怖的 GCP 了,例如:
- 雲端硬碟 Drive
- 試算表 Sheets
- 文件 Docs
- 簡報 Slides
- 郵件 Gmail
- 通訊錄 People
- 任務清單 Tasks
- 行事曆 Calendar
3. 建立服務帳號(Service Account)


n8n-service-account
,一定要是英文、數字,不能中文,然後點選 Create and Continue。
- 官方建議:安全起見,給予最少但足夠的權限。例如,如果只用 Google Sheets,可以搜尋並選擇
Google Sheets Editor
或Google Sheets Reader
。如果不確定,可以先選擇Editor
,之後再根據需求調整。 - 實際使用:只有我一個人用時都給最高權限,免得卡住找不出原因時原來是權限不夠啊!如果你要讓別人用,還是保守一點好。
- 如果你想要成為資安專家,這裏可以做到超細緻的設定,初學者就不用了。


4. 產生服務帳號金鑰(JSON Key)
有「帳號」就有「密碼」,前面你獲得「帳號」了,現在要來取得「密碼」。




它下載的這個 JSON 檔包含你的服務帳號 Service Account 的「帳號」和「密碼」(金鑰)。請務必妥善保管,不要外洩!
20250927 補充:JSON 檔不要刪除,儲存在一個你記得的位置。除了 n8n 外,如果想讓 AI 操作 Google Sheets 或 Docs 等服務,這些 MCP Server 通常要求提供 JSON 檔證明,而不是輸入帳密。
第二步:n8n Credentials 設定
n8n 幫你把 Google 的各種認證方式都設好了,當然你可以去「Credential」欄位新增,但會一下列出上百種不同的選項,光是 Google 就超過 10 種,經驗中學生常常眼花申請到錯的形式。
我想的辦法是,你去 n8n 增加一個會用到的服務節點,直接從節點上新增,就絕不會搞錯了。
我以在 n8n 天天用到的 Google Sheets(試算表)為例,會天天用是因為:
- 操作跟 Excel 一樣(甚至更簡單)大家都會
- 它是聯網的,不用上傳檔案,比 Excel 方便
- 它存取速度極快,當小資料庫都沒問題,資料多可能會不行
- 它是免費服務



- Connecting using:如果你是從某服務進來會看到這個,有 OAuth2 和 Service Account,選後者,你會發現當選擇 Service Account 時就不管你用什麼服務了,因為它是通用的,只需要設定一次(OAuth2 則要為每個服務分別設定)
- Region:不管,如果要用高速運算服務訓練 AI 才要填,它不是全世界提供的,其中有一個是台灣苗栗哦!
- Service Account Email:就是你剛剛申請到的超長 Email,下面 2 種方式都可以取得,1)從 GCP 的 Service Account Details 複製「Email」內容;2)從你下載的 JSON 檔複製「client_email」內容。
服務帳號是個假 Email,Google 的服務要共享不是要輸入一個 Email 嗎?如果你要讓機器人可以編輯你的檔案,就要授權給這個超長 Email。


3 設定 HTTP Request:
- Set up for use in HTTP Request node:開啓,你就可以用 n8n 內建的 http request 節點來呼叫所有 Google 服務提供的 API(理解為什麼2)。
- Scope(s):開啓上面選項就跳出這格,暫時不填沒關係,但使用 http request 時會出錯。如果你開啓的是我前面建議使用的 API,按照下面的貼,讓 n8n 全權使用,填上面的;只讓讀不讓改,填下面的(理解為什麼3)。
給你的 Service Account 全部權限,貼下面這些
https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/documents,https://www.googleapis.com/auth/presentations,https://mail.google.com/,https://www.googleapis.com/auth/contacts,https://www.googleapis.com/auth/tasks,https://www.googleapis.com/auth/calendar
Bash只給你的 Service Account 讀的權限,不讓修改、寫入,貼下面這些
https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/documents,https://www.googleapis.com/auth/presentations,https://mail.google.com/,https://www.googleapis.com/auth/contacts,https://www.googleapis.com/auth/tasks,https://www.googleapis.com/auth/calendar
Bash3. 儲存 Credential
- 給這個 Credential 一個有意義的名稱,例如
Google Sheets Service Account
。 - 點選 Save。
- 完成了。
第三步:授予服務帳號文件存取權限
這一步是許多人容易忽略的關鍵步驟,也是 Service Account 和 OAuth2 最大的不同點。OAuth2 憑證已經代表你的個人身分,所以你個人能存取的檔案,n8n 就能存取。但 Service Account 是一個獨立的身分,你必須手動分享檔案給它。
1. 複製服務帳號的電子郵件地址
- 回到 GCP 控制台的 Service Accounts 頁面。
- 你會看到你建立的服務帳號,例如
[email protected]
。 - 複製這個完整的電子郵件地址。
2. 分享檔案給服務帳號
- 打開你要讓 n8n 存取的 Google Sheets、Google Docs 或 Google Drive 資料夾。
- 點選右上角的「共用」(Share)。
- 在分享彈窗中,將你剛才複製的服務帳號電子郵件地址貼上,並設定其權限(例如
Editor
)。 - 點選 Send。
完成以上三個步驟後,你的 n8n 流程就可以使用這個 Service Account Credential,穩定地存取被授權的 Google 服務與文件了。
Service Account 比較方便
n8n 告訴你大部分狀況下用 OAuth2 就足夠了,Google 也告訴你 OAuth2 很穩定,只有在很少情況下被踢掉。
實際使用缺點超多:
- n8n 每個服務都要重設新的 OAuth2 Credentials 超麻煩
- 三不五時就會沒來由地被 Google 踢掉,而且每個使用者還要去 GCP 註冊很煩人
- n8n 因此出錯不會回報,你也不知道你的服務沒運作,假如要收集出現一次就消失的數據,或是每天觸發固定的動作,例如備份檔案,服務沒啓動後果多慘。
所以我不聽 n8n 和 Google 的,用 Service Account 吧!它難在 Google 的設定複雜、機器對機器的觀念不同:
- 新增或開啓專案:別的網路服務都是進去就取得認證,但 Google 服務太多了,怎麼可能都用在同一個地方,所以要你建立專案管理(但實際上我所有服務都放同一個專案,除非你有個服務要收費,還是拆開,就有獨立的帳單)。
- 開啓 API 服務:多數的服務只有少少幾個 API,直接勾選,但 Google 服務太多,需要搜尋引擎找出來一一開啓。
- 超長的服務金鑰:一般的 API Key 只有幾十個字,它的服務金鑰是超長的上百字。
- 分地區:因為 Google 提供的是全世界的服務,雖然多數服務不限制。
- 產生怪怪的 Email:因為 Google 各服務內部用 Email 分享權限。
你會發現,Google 這一套複雜是因為它把別人的服務放大了幾百倍,所以需要這麼高等級的管理,而複雜的 Google 混合複雜的 n8n,結果就是複雜到一塌糊塗。
不過按照這個流程完工,你就可以好好享受 n8n 帶給你的方便了。
註解
- Google 目的是要你填卡號,它承諾到期真的不會自動扣款(它被告商譽損失太大,丟不起這個臉),而且我們服務多半是免費的,就算填了卡號,也不會產生費用。如果你很在意卡號問題,可考慮改用其他服務,只是 Google 提供服務種類廣,拒用換別家,達成相同效果要申請很多帳號來補。 ↩︎
- Google 提供很多 API,可粗略把 API 當作一個「功能」,n8n 幫你整合了。但還有很多 Google 服務沒被 n8n 整合,例如 Google Vision API 來辨識圖片文字,就要用萬用的「http request 節點」。如果沒勾這個選項,service account 用 HTTP Request 時就一直出錯。 ↩︎
- 如果勾選了 Set up for use in HTTP Request node,要告訴它哪些服務的 API 准許使用,如果你勾選的超過我給你的範例,你可以問 AI 要怎麼填寫。 ↩︎