// Notion API 教學
Notion API 教學:3 分鐘取得 integration token,接上自動化工具
要用 n8n、Make 或自寫程式讀寫你的 Notion,就要建立一個 internal integration 取得 token,再到目標頁面授權。本文帶你跑完整流程,並順帶講清楚那個最常見的坑——「連了但讀不到」。Notion API 完全免費。
什麼是 Notion integration?
Notion 的 API 不是用帳號密碼登入,而是要先建一個「integration」(整合應用),再拿它的 token 去存取。分兩種:
- Internal integration(本文用這種)— 只服務你自己的 workspace,拿一條固定 token 就用得,適合自用自動化。
- Public integration(OAuth) — 要讓別人授權給你的產品時才需要,要送審。自用不必碰。
關鍵觀念:建了 integration 不等於它看得到你的頁。Notion 是逐頁授權的——你必須在目標頁面(或它的父頁)把 integration 加進連接清單,它才讀得到。這就是下面那個 object not found 錯誤的來源。
STEP 06
連接 Notion 與 n8n
Notion API key:在 Notion 範本頁 → 管理連接 → 前往開發人員入口 → 新連接 → 存取權杖,複製權杖並在頁面授權該連接。
n8n:進入 folder,把 IG business ID、Facebook page ID、Threads user ID 填入;新增 Notion Credential 貼上權杖,見 Credential test successful 即成功。
你的 Notion 資料庫需要以下欄位(名稱要一致,工作流靠它對欄):
| Property | 類型 | 用途 |
|---|---|---|
| Name | Title | 內部識別 |
| Content_IG | Text | IG caption(留空 = 不發佈) |
| Content_FB | Text | FB 貼文 |
| Content_Threads | Text | Threads 貼文 |
| Image_URL | URL | 公開圖片直連(IG 須 JPEG) |
| Status | Select | Draft → Approved → 結果 |
| Posted_At | Date | 發佈時間(防重發) |
| Error_Log | Text | 失敗原因 |
常見問題排難
- 回傳
object not found或讀不到頁 — 最常見。建了 integration 但沒在頁面的連接清單授權它。回到目標頁 → 右上角「…」→ 連接 → 選回你建的 integration。 - 子頁讀得到、新建的讀不到 — 授權會從父頁繼承,但要在授權之後建的子頁才繼承得到。直接在新頁再授權一次最穩。
- 改了 database 結構後 property 讀不到 — 工具端快取了舊 schema。在 n8n 重新選一次 database,或重新載入欄位清單。
- Credential test 失敗 — 檢查有沒複製到多餘空格,或複製了顯示名稱而不是 token 本身。Token 以
ntn_或secret_開頭。 - Token 洩漏了怎麼辦? — 到 integration 設定頁 rotate/重新產生,舊 token 即時失效,然後到各工具更新。
常見問答
不需要。Notion API 對所有方案(包括免費方案)都開放,也沒有額外收費。只有速率限制(平均每秒約 3 次請求)。
Internal integration token 不會自動過期,這點與 Meta 的 60 日 token 不同。但若洩漏或離職交接,應主動 rotate。
可以。同一條 token 可以在任意多個 workflow、多個工具裡重複使用,只要目標頁面都有授權給同一個 integration 即可。
這是設計而非 bug。Notion 採逐頁授權,默認什麼都看不到。想讓它存取一整個區塊,就在最上層的父頁授權一次,之後建的子頁會繼承。
可以。只要 integration 的能力設定包含 Insert 與 Update content(建立時預設已開),就可以新增與更新 database row。
