n8n 連接 Google Sheets:5 分鐘自動同步試算表資料
想讓表單、訂單、名單自動寫進 Google Sheets?這篇用最短路徑教你設定 n8n 的 Google Sheets 節點與 OAuth 憑證,從讀取到寫入到雙向同步,跟著做 5 分鐘就能讓試算表自己更新,新手不用寫一行程式。
n8n 連接 Google Sheets 是透過官方的 Google Sheets 節點搭配 OAuth 憑證,讓試算表資料在工作流裡自動讀取、寫入與更新。免寫程式,就能把表單回應、訂單、名單即時同步到雲端試算表。
很多人第一個想自動化的場景,都跟 Google Sheets 有關:把網站表單的回覆收進試算表、每天把訂單匯總成一張表、或是兩份名單對不上想自動比對。這些用 n8n 一條流程就能解決。難點不在邏輯,而在「第一次設定 Google 憑證」這關卡最多人。這篇就把這關拆開講清楚。
本文是《第一個 n8n 工作流:從零到自動化的完整入門指南》系列的延伸文章,專門帶你打通 Google Sheets 串接。
開始前你需要準備什麼
動手前先備齊三樣東西,後面才不會卡住:
- 一個能登入的 Google 帳號,以及一份要操作的 Google 試算表。
- 一個跑得起來的 n8n(雲端版或自架都行,還沒裝看n8n 安裝完全教學)。
- 5 分鐘,以及一次「授權 n8n 存取你的 Google 帳號」的心理準備。
Google Sheets 節點是 n8n 內建的官方節點,不必另外安裝。真正要花時間的是憑證授權,這部分官方文件在 n8n Google Sheets 節點文件 有完整列表,遇到細節可以對照。
第一步:設定 Google OAuth 憑證
n8n 要動你的試算表,得先拿到 Google 的授權。新手最快的做法是用 n8n Cloud 內建的 OAuth:
- 在 n8n 拉一個 Google Sheets 節點,點 Credential 欄位選「Create New Credential」。
- 選 OAuth2 授權方式,n8n Cloud 會跳出 Google 登入視窗。
- 選你的帳號、按「允許」,授權完成後視窗自動關閉,憑證就建好了。
如果你是自架 n8n,沒有 Cloud 的內建 OAuth,就得自己到 Google Cloud Console 開一組 OAuth Client ID,把 Client ID 和 Secret 填回 n8n。這段步驟較長,完整圖解請看n8n 串接 Google OAuth 設定教學,照著貼三個值就會通。
Google 對 OAuth 的授權範圍(scope)有明確規範,n8n 要的是試算表讀寫權限,這在 Google Sheets API 官方說明 查得到,授權畫面看到要求存取「Google 試算表」是正常的。
第二步:讀取試算表資料

憑證通了,先做最簡單的「讀」。把 Google Sheets 節點的 Operation 設成 Get Row(s):
- Document:選你的試算表(n8n 會列出你帳號裡的檔案)。
- Sheet:選工作表分頁,通常是「工作表1」。
- 按節點右上的 Execute step,右欄 OUTPUT 就會吐出整張表的每一列。
看到資料出現在 OUTPUT,代表授權和連線都對了。這一步是後面所有操作的地基,跑不出資料就別往下,回頭檢查憑證。
n8n 讀回來的每一列會變成一個 item,欄位名稱對應你試算表的標題列。所以第一列務必放欄位名稱(像 姓名、email、金額),不要直接放資料,否則 n8n 會把第一筆資料當成欄位名。
第三步:寫入新資料
讀懂了就反過來寫。把 Operation 改成 Append Row(附加一列)或 Append or Update Row(有就更新、沒有就新增):
- Append Row:每次都在表格最後加一列。適合收集型場景,例如表單每填一次就多一筆。
- Append or Update Row:用一個欄位當「比對鍵」(例如 email),同一筆就覆蓋更新,不同筆才新增。適合維護一份不重複的名單。
設定寫入時,每個欄位的值可以用 {{ }} 表達式抓上一個節點的資料。例如把 Webhook 收到的姓名寫進去,就填 {{ $json.name }}。表達式怎麼寫不出錯,可以對照n8n 表達式語法入門,這是新手最常踩的小坑。
第四步:讓它自動跑——加一個觸發節點

到這裡都還是手動按 Execute。要「自動同步」,前面得接一個觸發節點:
- 排程觸發(Schedule Trigger):每天早上 9 點自動把資料同步一次,適合定時匯總報表。
- Webhook 觸發:網站表單一送出就即時寫進試算表,適合即時收單。
- 其他 App 觸發:例如收到特定 Gmail 就把內容存進表格。
把觸發節點接到 Google Sheets 節點前面,再打開頂部的 Active 開關,這條流程才會真的在背景自動運作。很多人流程不會自己跑,就是忘了開 Active。觸發節點的概念若還不熟,建議先讀懂n8n 核心節點完全攻略裡的觸發節點章節。
常見錯誤與排查
第一次串接最容易卡在這幾個地方:
- 憑證授權失敗:多半是自架 n8n 的 OAuth redirect URL 沒填對。Google Cloud Console 裡的「已授權的重新導向 URI」要跟 n8n 顯示的那串完全一致,少一個斜線都不行。
- 讀不到檔案:確認授權的 Google 帳號,跟試算表的擁有者是同一個帳號,或試算表有分享給該帳號。
- 寫入跑去錯的欄位:檢查試算表第一列是不是欄位名稱,以及節點裡的欄位對應有沒有對齊。
- 節點變紅色:點開紅色節點看錯誤訊息,n8n 通常會直接告訴你是哪個欄位或權限的問題,比盲目重跑快得多。
排查邏輯和讀錯誤訊息的方法,在n8n 介面導覽那篇的執行日誌章節講得更細。
常見問題
n8n 連接 Google Sheets 一定要會寫程式嗎?
不用。Google Sheets 是 n8n 內建的官方節點,讀取、寫入、更新都靠下拉選單和欄位設定完成。唯一接近「程式」的,是寫 {{ }} 表達式抓資料,但那也只是填變數名稱,照範例貼就會。
自架 n8n 和 n8n Cloud 設定 Google 憑證有什麼差別?
n8n Cloud 內建 OAuth,點一下登入 Google 就授權完成。自架版沒有這個,需要自己去 Google Cloud Console 開一組 OAuth Client ID,把 Client ID 與 Secret 填回 n8n,步驟較多但一次設定後就能重複用。
Append Row 和 Append or Update Row 該選哪個?
收集型資料(每次都要新增一筆,例如表單回應)選 Append Row。維護一份不重複名單(同一個人要更新而非重複新增)選 Append or Update Row,並指定一個比對欄位當判斷鍵,例如 email。
為什麼我的 Google Sheets 同步沒有自動執行?
最常見是沒打開頂部的 Active 開關。排程與 Webhook 觸發只有在工作流被設為啟用時才會背景運作。手動按 Execute 只是測試,不等於啟用。
讀回來的資料欄位名稱怎麼是 A、B、C?
代表你的試算表第一列沒有放欄位標題。n8n 會用第一列當欄位名,所以第一列要填 姓名、email 這類標題,從第二列才開始放實際資料。
把 Google Sheets 串通,等於打開了 n8n 最實用的一扇門——表單、訂單、名單都能自動流進試算表。接下來把觸發、判斷、迴圈這些積木一起學會,回到第一個 n8n 工作流入門指南,組出一條真正能解決你工作的流程。