Notion API 簡介
當 Notion API 的開放,這表示什麼? 我們可以將喜歡和常用的軟體通過「API 協定」的串在一起。
「應用程式介面(英語為 Application Programming Interface),縮寫為 API,是一種計算介面,它定義多個軟體中介之間的互動」 – 維基百科
再簡單來說,我們可以在 Google Excel 中新增一些資料,然後出現在 Notion 設定好的 Database 裡,或是新增一個活動在 Google Calendar 上,並同步於 Notion Database。
甚至可以在 Notion 上打字就可以在 IG 發文,這樣都是有可能的。
學習 API 的話,我們要先理解整個邏輯流程,就像大叔說的 API 是用愛的語言將我們串在一起,舉個例子,就像是阿拉丁故事中寶藏的門一樣,你必須要說對關鍵字,門才會打開。
所以在這個例子裡,我們用【芝麻開門】來「呼叫」,然後我們就會得到一個開門的「回應」。
如果我們不是用【芝麻開門】的話,例如是【女友開門】,那門就會沒有反應。

在 Notion API 裡也是一樣,我們需要使用【愛的語言】來請求 Notion 來為你做一件事情,像是請 Notion 告訴我頁面內容或是資料庫內容,於是…
所以問題來了,我們要怎麼請求一個 Request ,讓我們看下去。

使用 Notion API 的準備事項
Notion API 的怎麼申請
從左上角的 「Settings & members 」進入設定頁面。

點擊左下方的 Connections ,找到頁面下方的 Develop or manage integrations。

進入頁面後,點擊 Create new integration。

輸入自訂名稱,確認 Read content 有打勾,點擊「Submit」即可。

這樣就完成 Internal Integration Token 的申請,請將 Token 填入頁面的「Notion Integration token」,再來我們來做 Token 和資料庫的 Connection 。

5 個必學的 API 應用
我們知道 Notion 是高度整合辦工室軟體的工具或是數位筆記本,記錄和管理是它的強項,它的基本功能已十分的滿足大多數的使用者,而且不用付費就可以享用這樣的服務,十分的佛心。如果你還沒使用過的話,反正免費就很好用。
你可以在它的下拉選項中,找到功能強大的軟體,直接使用,並且不需要寫程式和花費任何時間。例如:流程圖軟體 Whimsical、Google Map。

但是目前你常用的軟體中,如果沒有出現在 Notion 的下拉選單,而你又十分需要它的話呢? 那你就不能不了解一下 Notion API。
1️⃣ Google Map (不需要寫程式)
在下拉選項中,找到 Google Maps ,點擊後輸入 Google Map 的網址就可以讓地圖顯示在 Notion 的頁面上。
在大叔的文章「【Notion Template 模版推薦】 達人都這樣用的 13 種模版教學應用」常會用到,特別是用於旅遊記錄上。

總之這類「內建」的軟體,好處在於不用寫程式立即可用,也是最基本的 API 應用。但是基本上它只能單向應用,無法做到互通的境界。例如說,我們如果要修改 Google Maps 的位置,只能重新再輸入一組新的 Google Map 網址,並將舊的 BLOCK 刪除,但是通過 API 就有可能解決這個問題。
例如我們使用 Google Calendar ,並希望同步於 Notion Database 的 Calendar View 的話,應該怎麼做呢…
2️⃣ Google Calendar 同步到 Notion – 使用第3方服務 Zapier
2022 年 9 月 Notion 收購了Automate.io,眼光和大叔一樣好 😎,害我要修改我的文章,也說明未來可能有自動化流程的工具將和 Notion 整合一起,十分期待。
Zapier 是一款 iPaaS 線上軟體,用來建立自動化流程工作的工具。
透過自動化流程工具,就可以同步 Google Calendar 和 Notion ,那要怎麼使用呢,看下去。
Step1. 註冊 zapier 會員
現在大家都可以用 Google 或是社群帳號登入,非常的方便。

Step2. Create A Zap
進入頁面後,點擊 Create Zap

Step3. 設定 Trigger
進入頁面後,點擊做為 Trigger 的軟體或 APP ,我們這次要做的是將 Google Calendar 的內容新增到 Notion 上。
所以這裡先選擇「Google Calendar 」。

然後,我們要選擇 Event ,也就是說,當發生什麼情況的時候,我們要觸動程式。我們選擇 「New or Updated Event」,當新增或是修改的時候,我們要更新同步到 Notion 。

然後選擇你的 Google Calender 的帳號。

最後我們選擇要同步使用的日曆,所以測試看看是不是找得到它。


Step4. 設定 Action
完成 Trigger 後,我們要來設定 Action,請點擊 Notion 。
當 Google Calender 新增或是更新後,Trigger 將會被觸動,然後我們要設定 Notion 將要執行什麼動作。

我們動作選擇「Update Database Item」。

選擇你的 Notion Account

再來就是 Set up action,我們新增一個頁面來做測式使用,用打字有點難說的明白,請看影片。

完成後,你會發現將你新增或是修改 Google Calender 後,會在你設定的 Item 被更新,但是你有發現這樣「怪怪的」嗎。
我們確實將谷哥日曆的內容,通過 zapier 這樣的第 3 方軟體完成同步 Notion 的目的。
但是無論我們要在谷哥上新增一個活動或是更新一個活動,然後 Notion 都會在同一個 Item 上執行,也就是說,如果我們要意義上完成全面的 Notion 和 Calender 的同步的話,我們可能要設定下述:
所以事情上果然沒有我們想像中簡單,而且 zapier 免費版只有 100 Tasks,不太足夠使用。
如果你不想要花錢加上想要學習更多的應用的話,看下去。
Automate 無法使用(因 Notion 收購 Automate )
Automate 是一款 iPaaS 軟體,用來建立自動化流程工作的工具。

簡單來說,可以由軟體來觸發,進行一連串不同服務的自動化流程;例如說,我們可以在 Google Calendar 新增活動,然後透過 Automate 和 Notion API 的連接,讓活動自動新增在指定的 Database 裡。
Automate 算是很容易上手的軟體,只要一直按按按,就可以設定好…
▼ Automate Bots 設定頁面

▼ Google Calendar 同步到 Notion
影片出現問題,請連絡我所以透過 Automate 的設定流程就可以完成許多麻煩的工作。
也可以用 Notion 去PO文,同時在許多不同平台上完成發文;自動化超能力取決你的想像力。
3️⃣ Typeform – 新增表單內容到 Notion Database
Typeform 是一個線上表單建立工具,可以讓你輕鬆地建立訪問者可以填寫的表單。( 官網 )
Typeform 不只是最棒的表單之一,它還有多項整合的功能,像是將名單整合到 Google Excel 或是 Email 行銷系統 Mailchimp,甚至也能使用 Facebook pixel 做到再行銷廣告。
使用 Typeform 和 Notion API 串接的話,讓人在美美的 Typeform 上填寫資料就可以出現在我們的 Notion 裡,方便管理和使用,是不是還不錯。
使用上也很容易,只要這樣做:
1️⃣ 先將表單完成,再做 Connect 設定這樣就行了。

2️⃣ 新增一個 Notion Database ,記得要把表格的內容設定好。

Typeform 串接十分容易,所以當做大家練習的功課,如果你在使用上有什麼問題的話,可以留言或是私訊給大叔。
4️⃣ Postman – 測試 Notion API

Postman 是一款 API 開發工具,由於相較其它程式設計軟體需要由零開始寫程式,這種的軟體可以讓不會寫程式的人也可以使用,也能幫助我們理解以及測試 API,簡單來說,對於新手或是大叔這種懶人最佳的選擇。
Zapier 這類的第 3 方軟體是好用的,但是如果你想有更強大的應用空間的話,自撰程式才能滿足我們最大的需求。
而 Postman 可以幫助我們快速的認識和使用 Notion API ,首先我們要看看 Notion API 的文件內容,請參考它的開發頁面。
我們用 2 個例子來說明,第 1 個「用 Postman 取得 Database 資料庫清單」。
首先進入 Postman 頁面,點一下「Collections」並「 Create Collection」新增。
然後會再出現「Add a request」,點下去。

我們依 Notion 開發頁面中「List databases」的說明,如果我們要取得資料庫的清單的話,我們需要輸入 Get-https://api.notion.com/v1/databases 。

我們將其 Send 出後,下面 body 的地方會收到由 Notion 傳回的內容,它說沒有 API token 。

所以我們再將 Notion API Token 打上去並送出,就成功得到 Databases List 了。事情就是這麼簡單,所以只要「愛的語言」對了,我們就可以獲得正確的回應。
PS.也許有朋友成功送出,但沒有任何的資料庫的話,那表示你可能沒有將資料庫的「Connect 」設定完成,請參考 Google Calendar 同步到 Notion 的 Step4. 內容中的影片。
▼ Notion API Token 設定不要忘了

第 2 個例子,我們要使用 Postman 透過 NOTION API 將資料庫的內容做修改:
所以一樣我們看一下開發頁面的說明,如果我們要「Update database」的話,那我們就要使用 PATCH-https://api.notion.com/v1/databases/{database_id} 的指令來完成。
和上面例子不同的是,取得清單我們用的是「GET」,這裡更新資料庫則是「PATCH」而且我們需要告知 NOTION 一個資訊 – 「資料庫 ID(database_id)」。

那要怎麼取得 id 呢? Database_id 可以在這裡 找到,基本上就是你資料庫的網址,中間的 36 個字母就是 Database_id 也就是我們開啟 Notion 內心的鑰匙。 😘

我們先將 PATCH-https://api.notion.com/v1/databases/{database_id} 複製貼上到我們的 Postman,再把資料庫的 id 取代 {database_id} 的字樣。
資料庫網址為:https://lashiblog.notion.site/5c24c2561b9e4e8eb5d54eef449743df?v=e353e62dd282480d914494f869867fc4
資料庫為:5c24c2561b9e4e8eb5d54eef449743df
用剛剛的 Pastman 來修改,我們將愛的語言修改為 PATCH-https://api.notion.com/v1/databases/5c24c2561b9e4e8eb5d54eef449743df
然後送出看看。
收到 OK ,也看到 Notion Database 的資訊,但看一下 Notion 卻是什麼也沒動,因為我們並沒有告訴它要改什麼啊。

所以我們要做 2 件事情:
▼ Headers 是要通知 Notion 我們將把內容放在 Body 而格式為 json。

▼ 從剛剛的 Body 找到 Title 我們把整個格式都複製下來,貼到 Pastman 的 Body 裡,就像是下面的圖示。
選擇 → Body → raw ,把左邊內容的貼到右邊的位置內,在內容的前後加上’{’ , ‘}’,這樣就成為了 JSON 格式的內容。
我們再把 content 後面的內容,改成我們要的,完成後送出資料。


如果成功的話,標題應該就變成我們喜歡的樣子,來跟大叔念一次。

5️⃣ Mynotion 讓 WordPress 和 Notion 串在一起
如果有在經營 BLOG 的朋友,應該對 WordPress 不陌生。 WordPress 是一個網站創建工具,它可以讓你輕鬆地建立和管理網站。
使用 Notion 來寫文章其實比在 WordPress 寫文章來得方便,所以一般大叔選擇先在 Notion 寫作再搬運到 WordPress ,但是搬運文章其實是一件小麻煩的事情,寫作的優點在於當腦海中有些想法就可以先寫下來,待它漸漸成形。
所以三不五時就會這裡改一下,那裡修一點,這時候我們不太可能改一兩個字就做一次「搬運」的工作,這時候最好的方式就是有程式可以幫助我們同步 Notion 和 WordPress 的內容。
更多關於 WordPress 和 Notion 串接內容都在「MyNotion | 簡單讓你的 Notion 內容同步到 WordPress 文章」。
參考資料
2 則留言
好棒又簡單的教學方式 讓我可以用最簡單的方式學到最有用的技能 非常感謝版主分享 超級棒的推薦 大推
Hello Bodynewlife
謝謝你來我的網站,有什麼問題都歡迎留言喔!!