NocoDB API 快速上手:取得 Token、讀寫資料表、串接自動化
NocoDB 會為每張資料表自動產生 REST API,不需額外開發。本文示範如何取得 API Token、找到 Table ID,以及用 curl 完成查詢、新增、更新與刪除。
🚀 想直接開始?60 秒部署你的 NocoDB
智慧電子表格 — Airtable 的開源替代品。月付 NT$499 起,
NocoDB 最實用但最少人用到的功能,是它會為你建立的每一張資料表自動產生 REST API。你不需要寫任何後端程式,就能讓其他系統讀寫這些資料。
這讓 NocoDB 很適合當作內部工具的輕量後端:用介面管理資料,用 API 給程式或自動化流程存取。這篇帶你從零跑通第一個請求。
步驟一:取得 API Token
API Token 是呼叫 API 的身分憑證,等同你的帳號權限,請當作密碼保管。
- 登入你的 NocoDB
- 點右上角的頭像,選擇「Account Settings」
- 找到「Tokens」頁籤
- 點「Add New Token」,給它一個看得懂的名字(例如
n8n-integration) - 複製產生的 token——它只會完整顯示這一次
建議為每個用途建立獨立的 token。這樣之後要停用某個整合時,可以只撤銷那一個,不影響其他系統。
步驟二:找到 Table ID
NocoDB 的 v2 API 用 Table ID 定位資料表,而不是資料表名稱。Table ID 是一串英數字,長得像 m1a2b3c4d5e6f7g。
取得方式:在 NocoDB 介面中打開該資料表,看瀏覽器網址列,或是點資料表右鍵選單裡的「Copy Table ID」。
你也可以直接用介面內建的 API Snippet 功能——它會針對當前資料表,直接產生可複製的 curl、JavaScript、Python 範例,裡面已經填好正確的 ID。不確定的時候用這個最快。
步驟三:查詢資料
所有請求都要帶上 xc-token 這個 header。以下把 YOUR_TOKEN、TABLE_ID 換成你自己的值,網域換成你的專屬子網域:
curl -X GET \
'https://your-instance.roamerhost.com/api/v2/tables/TABLE_ID/records?limit=25' \
-H 'xc-token: YOUR_TOKEN'
常用的查詢參數:
| 參數 | 用途 | 範例 |
|---|---|---|
limit | 每頁筆數 | limit=50 |
offset | 跳過幾筆(分頁用) | offset=50 |
where | 條件篩選 | where=(Status,eq,Active) |
sort | 排序,前面加 - 為遞減 | sort=-CreatedAt |
fields | 只回傳指定欄位 | fields=Name,Email |
步驟四:新增資料
curl -X POST \
'https://your-instance.roamerhost.com/api/v2/tables/TABLE_ID/records' \
-H 'xc-token: YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"Name": "王小明", "Email": "ming@example.com", "Status": "Active"}'
JSON 的 key 必須完全對應你資料表的欄位名稱,大小寫也要一致。這是最常見的錯誤來源。
步驟五:更新與刪除
更新和刪除都是把目標記錄的 Id 放在 request body 裡,而不是網址上:
# 更新
curl -X PATCH \
'https://your-instance.roamerhost.com/api/v2/tables/TABLE_ID/records' \
-H 'xc-token: YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"Id": 12, "Status": "Closed"}'
# 刪除
curl -X DELETE \
'https://your-instance.roamerhost.com/api/v2/tables/TABLE_ID/records' \
-H 'xc-token: YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"Id": 12}'
常見錯誤排解
| 狀況 | 多半的原因 |
|---|---|
| 401 Unauthorized | token 錯了,或 header 名稱寫成 Authorization——要用 xc-token |
| 404 Not Found | Table ID 錯誤,或誤用了 v1 的網址格式 |
| 新增成功但欄位是空的 | JSON 的 key 跟欄位名稱不完全一致(含大小寫與空格) |
| 只回傳 25 筆 | 這是預設的 limit,要更多請自己帶 limit 與 offset |
NocoDB 的 API 在 v1 與 v2 之間有過路徑調整。如果你在網路上找到的範例是 /api/v1/db/data/noco/... 這種格式,那是舊版。以你自己實例裡的 API Snippet 為準最保險。
搭配 n8n 使用
最常見的組合是 NocoDB 當資料層、n8n 當自動化層:n8n 有現成的 NocoDB 節點,填入實例網址與 API Token 就能讀寫,不用自己組 HTTP 請求。
典型用法像是:表單送出後寫進 NocoDB、每天定時把 NocoDB 的資料整理成報表寄出、或是 NocoDB 有新記錄時觸發 LINE 通知。兩個服務都在你自己的環境裡,資料不經過第三方。
延伸閱讀
準備好開始使用 NocoDB 了嗎?
完成訂閱後 60 秒,系統自動幫你裝好 NocoDB——獨立容器、資源硬性上限不與他人共用、HTTPS 開箱即用。
立即訂閱 NocoDB月付訂閱、不綁約、隨時取消