Notion API 高級整合:寫作必備自動上傳 Notion 內容到 WordPress

Notion API 提供了一個強大的接口,使開發者能夠通過自動化整合將 Notion 與其他應用程序無縫連接。從2022年3月起,用戶便可以使用這個API來自動化日常任務,如同步數據、管理內容發布以及實時更新信息,從而提升工作效率。通過簡單的設置和Postman工具,即使是初學者也能輕鬆掌握Notion API的強大功能,實現數據的高效管理和操作。

目錄

為什麼要自動化來協助寫作? 

如果你和我一樣,思考過經營一個部落格透過分享文章來賺錢的話,我們都試著優化網站的「SEO」來提高流量,但同時也面臨著一個巨大的挑戰:「如何高效地管理和發布大量的文章內容,同時還要保持內容的質量和更新速度。」 

這表示我們要在有限的時間內,寫作、更新,還要在不同的平台上發佈。 

這不僅僅是一個時間管理的問題,更是一個技術挑戰。其中最讓我最苦惱的是 WordPress 內容的管理和自動化,這是我最想要克服的問題。所以我一直在找尋自動化的方法,但網路上的資訊確實有限,現在我透過 Python 程式來為我上傳文章到 WordPress ,提高了我的寫作生產力,最高興的是我有更多的時間可以寫作。 

總之,本文將深入探討如何使用 Notion API 與 WordPress REST API 進行整合,實現自動上傳內容的流程,並討論這種自動化如何顯著提高創造和生產能力。 

 

 

 

使用 Notion API 和 WordPress API 進行整合的好處 

 

  1. 提高效率:自動化的內容管理過程可以節省大量的手動輸入和維護時間,使創作者和管理者能夠專注於內容創作而非繁瑣的格式和發布流程。
  2. 增強一致性:通過自動化工具,每一篇文章的格式、風格和發布標準都可以統一,這對於保持品牌的專業形象至關重要。
  3. 即時更新:當內容需要快速反應最新信息或數據時,自動化發布系統可以確保信息在幾乎無延遲的情況下被更新和發布,大大提高了信息的時效性。
  4. 跨平台管理:Notion 和 WordPress 的整合允許內容在多個平台之間無縫對接,為管理多個渠道提供了便利。  

 

 

Notion → WordPress 自動化程式邏輯怎麼寫? 

開始之前,我們需要先梳理一下本程式的邏輯。 

 

 

 

 

從流程圖上來看,我們要先建立一個 Notion database 並在上面寫文章內容,以及設定 Properties 包含有 Name、前言和 slug 等等,依你的需求。 

再來我們要寫一段程式來取得 Notion database 上的所有資料,然後將資料透過 WordPress REST API 來新增文章。 

 

 

 

 

用 Python 寫自動上傳程式 

 

前置作業:Notion Integration Token 申請 

 

 

 

前置作業:Database Connect  

完成 Notion Integration Token 申請後,請不要忘了新增一個 Notion Database ,並且將 Notion Connecting 設定好。 

 

 

 

 

 

前置作業:準備 Python 程式環境 Google Colab  

Google Colab,全名 Google Colaboratory,是 Google 為了推廣機器學習所提供的一個研究工具。它是一個完全基於雲端的 Jupyter 筆記本環境,能夠在瀏覽器中撰寫和執行 Python 等多種語言的程式碼,不需要任何設定。此外,Google Colab 提供了免費的 GPU 使用,使得執行機器學習和深度學習的程式碼更為便利。你可以隨時隨地、在任何裝置上,只需一個 Google 帳戶和網路連線,就能使用 Google Colab 進行程式學習和資料分析。 

網址:https://colab.research.google.com/?hl=zh-tw 

 

 

步驟一:取得 Notion database Properties 

在先前的文章 Notion API 怎麼用? 基礎教學 Postman 、Typeform 我們有討論過如何取得 Database 的列表。 

這次我們要用 Query a database 服務,這個功能和之前的 List databases 有個很大的不同,就是加上了過濾器 Filter ,因為我們並不想要取得所有的項目,而是部份滿足特定條件的項目。 

 

 

 

 

如果你已經取得 Token 和登入 Google Colab 帳戶了,從 Notion API Guides 可以找到 

那可以輸入程式: 

 

 

 

簡單變數說明: 

 

 

 

以上是個簡單的 Python 程式碼示例,請自行替換 notion_database_id 和 notion_integration_token ,並確保資料庫中有新增 Property checkbox 並且打勾。 

 

 

 

 

步驟二:取得 Notion Page 內容 

獲取 database Properties 後,接下來我們想取得 Notion Page 內容,這必須使用 Retrieve block children 功能。 

 

 

 

 

依 Notion API Guides 的內容,我們可以輸入程式: 

 

 

簡單變數說明: 

 

 

 

 

 

  • more_data:檢查是否有子 block ,某些塊的 Type 是帶有子資料,我們需要將子資料也找出來。
  • start_cursor:如果有子 block ,加入 start_cursor 参数。
  • all_blocks :用來儲存所有的資料  

 

 

你取得資料為所有的 blocks ,但我們只是想要 blocks 的內容的部份。 

 

 

 

 

步驟三:將 Block 轉成 HTML 資料 

找到 Page Content 的資料後,在上傳到 WordPress 之前,我們還需要一個重要的動作,就是將資料轉換成 WordPress 可以讀取的內容,像是 HTML 檔案。 

怎麼做呢? 我們可以輸入程式: 

 

 

簡單變數說明: 

 

  • elements:儲存 HTML
  • full_content:轉化成 HTML 的文字格式
  • block_type:block 格式
  • rich_text_list :儲存 rich_text 的內容
  • if block_type == ‘heading_2’ :假如 type 為 heading_2 ,就…  

 

這步驟困難在於轉換成 HTML 時,需要考慮許多不同的格式,包含 H2 大標題、H3 小標題、Text 文字、Image 圖片…等,所有我們可能會用到的格式。 

上面的的範本只有 H2 喔! 剩下的,請看下去… 

 

 

 

步驟四:上傳資料到 WordPress 

 

什麼是 WordPress RestAPI? 

WordPress RestAPI 是一種讓開發者能夠透過 HTTP 請求與 WordPress 網站互動的工具。透過這個 API,開發者可以讀取、創建、更新及刪除網站的文章、頁面、媒體等內容,並且可以進行使用者認證等操作。它使得開發者可以更方便地整合 WordPress 資訊到其他應用程式或服務中。 

更多完成的文件:Reference – REST API Handbook | Developer.WordPress.org 

 

 

怎麼啟用 REST API ? 

要啟用 WordPress REST API,通常不需要額外的步驟,因為從 WordPress 4.7 版本開始,REST API 已經內建在 WordPress 中。不過,我們還是一些動作,來確認你的 WordPress REST API 是否正常運作。 

測試 REST API:可以通過訪問以下 URL 來測試 REST API 是否運作正常。 

 

如果 REST API 正常運作的話,應該看得到文章的資訊,如果失敗的話,有些主題或插件可能會限制 REST API 的功能。檢查是否有安裝任何可能會影響 REST API 的插件,例如安全性插件可能會禁用 API 端點。 

 

 

 

 

 

設置 WordPress API 帳戶 

在寫程式之前,建議你創建一個新帳戶,具有編輯權限的用戶,以便 API 可以進行文章的發布和管理。 

Step1. 新增使用者 

請登入自己網站的 WordPress 後台頁面,在功能欄找到「使用者」→ 新增使用者,並輸入下列設定,然後新增。 

 

 

  • 使用者名稱 → MyNotion (自定)
  • 電子郵件 → 自訂,請輸入到頁面的 「WordPress Acount Name」
  • 使用者角色 → 編輯  

 

 

 

 

 

Step2. 設定權限 

 

 

 

 

Step3. 新增應用程式密碼 

新增後,請進入其使用者的頁面,在頁面的下方找到「應用程式密碼」,新增一個應用程式密碼。 

 

 

 

▼ 請將反白的密碼複製下來,貼到個人頁面的 「WordPress App Password」中。 

 

 

 

 

寫個自動上傳程式 

完成後,我們將帳戶和應用程式密碼先存在文件中。 

再來,我們可以輸入程式: 

 

 

 

總結 

恭喜親愛的朋友看到這裡,坦白說從程式小白到完整寫完程式,到現在我請 AI 幫我更完整它,可能也花了兩年左右的時間。總之,完整的程式早就開放在網路上,更完整的內容和使用方法,請看: NotionPress :簡單地將 Notion 文章同步到 WordPress  

免費下載喔! 

 

Share the Post: