教學

NocoDB API 快速上手:取得 Token、讀寫資料表、串接自動化

NocoDB 會為每張資料表自動產生 REST API,不需額外開發。本文示範如何取得 API Token、找到 Table ID,以及用 curl 完成查詢、新增、更新與刪除。

A
Admin

🚀 想直接開始?60 秒部署你的 NocoDB

智慧電子表格 — Airtable 的開源替代品。月付 NT$499 起,

立即訂閱 NocoDB

NocoDB 最實用但最少人用到的功能,是它會為你建立的每一張資料表自動產生 REST API。你不需要寫任何後端程式,就能讓其他系統讀寫這些資料。

這讓 NocoDB 很適合當作內部工具的輕量後端:用介面管理資料,用 API 給程式或自動化流程存取。這篇帶你從零跑通第一個請求。

步驟一:取得 API Token

API Token 是呼叫 API 的身分憑證,等同你的帳號權限,請當作密碼保管。

  1. 登入你的 NocoDB
  2. 點右上角的頭像,選擇「Account Settings」
  3. 找到「Tokens」頁籤
  4. 點「Add New Token」,給它一個看得懂的名字(例如 n8n-integration
  5. 複製產生的 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_TOKENTABLE_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 Unauthorizedtoken 錯了,或 header 名稱寫成 Authorization——要用 xc-token
404 Not FoundTable ID 錯誤,或誤用了 v1 的網址格式
新增成功但欄位是空的JSON 的 key 跟欄位名稱不完全一致(含大小寫與空格)
只回傳 25 筆這是預設的 limit,要更多請自己帶 limitoffset
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

月付訂閱、不綁約、隨時取消

嗨,我是小浪!有任何問題都歡迎點我詢問,我來幫你解答。

小浪

小浪 - AI小助手

在線中
小浪

有任何問題都歡迎隨時詢問我,我會盡力為你解答!

Powered by RoamerHost AI