iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0
AI & Data

為你自己學 n8n系列 第 5

[為你自己學 n8n] 第 5 天,JSON 不是人名!搞懂自動化的基礎語言!

  • 分享至 

  • xImage
  •  

Yes

影片連結:https://www.youtube.com/watch?v=tj_g5KvTqwE
YouTube 頻道:https://www.youtube.com/c/kaochenlong

在開始深入學習 n8n 的工作流之前,我們先來了解一些在使用 n8n 時會經常遇到的技術名詞。這些名詞包括 API、Webhook、HTTP 請求、REST、JSON 以及網路爬蟲等。雖然這些聽起來很技術性,但了解它們的基本概念對於使用 n8n 來說非常重要。

學習目標

本文的目的不是要訓練你成為工程師,而是:

  • 理解這些技術名詞的基本含義
  • 知道這些技術名詞在做什麼事情
  • 學會像工程師一樣思考問題
  • 讓你在使用或串接 n8n 工作流時更加順暢

API - 應用程式介面

什麼是 API?

API 的全名是 Application Programming Interface(應用程式介面)。這個詞彙早在網路時代之前就已經存在,而且它的含義隨著時代演進有所變化。

早期定義

在早期,API 主要是指不同應用程式之間的介面。例如:

  • 當我寫一個程式想要呼叫作業系統的某個功能時
  • 作業系統就應該提供一個介面讓我的程式可以使用
  • 重點在於「Interface」(介面)這個概念

現代理解

現在大家普遍說的「打 API」(API 當然沒做錯什麼事,為什麼要打它?),其實是指:

  • 寫程式去呼叫或傳送資料到某個網站
  • 從對方網站接收資料回來
  • 透過網路進行資料交換

簡單來說,API 的重點在於 "I"(Interface)- 資料交換的介面

Webhook - 被動接收通知

Webhook vs API 的差異

Webhook 這個詞由 "Web"(網路)和 "Hook"(鉤子)組成。它和 API 的主要差別在於:

  • API:我們主動去通知或要求資料(主動)
  • Webhook:我們被動等待別人通知我們(被動)

實際應用場景

Webhook 常見於以下情況:

  1. LINE Chatbot:當用戶在 LINE 聊天室打字並送出時,訊息會被送到你的 N8N
  2. 金流系統:當付款完成時,金流系統會通知你的系統
  3. 表單提交:當有人填寫表單後,系統自動通知你

可以把 Webhook 想像成 API 的反向操作:

  • API:我們準備程式去呼叫別人的介面
  • Webhook:我們準備介面讓別人來呼叫我們

HTTP 請求 - 網路通訊的基礎

基本概念

HTTP 請求(HTTP Request)其實非常簡單:

  1. 打開瀏覽器
  2. 輸入網址
  3. 按下 Enter
  4. 發送請求說「我想看這個網站」

這就是一個 HTTP 請求!

HTTP 動詞(動作)

HTTP 請求有不同的動詞,各有其特定用途:

動詞 用途 舉例
GET 讀取資料 讀取文章、讀取商品資訊、讀取留言
POST 新增資料 新增文章、新增商品、新增留言
PUT/PATCH 修改資料 修改文章內容、更新商品價格
DELETE 刪除資料 刪除文章、刪除商品、刪除留言

REST - 資源導向的設計規範

REST 的由來

REST 是 Representational State Transfer(表現層狀態轉換)的縮寫。這個概念是由 Roy 博士在 2000 年的博士論文中提出的。

雖然中文翻譯聽起來很抽象,但概念其實很簡單:透過不同的 HTTP 動詞去存取不同的資源

RESTful API

當一個 API 符合 REST 設計規範時(使用 GETPOSTPUTDELETE 等動詞來設計),我們就稱它為 RESTful API

這些技術名詞背後的概念其實都不複雜,重點是理解它們在做什麼事情。

JSON - 資料交換格式

什麼是 JSON?

JSON 是 JavaScript Object Notation 的縮寫,它是目前最流行的資料交換格式。

JSON 的結構

JSON 採用 key-value(鍵值對)的組合,例如:

{
  "name": "華安",
  "no": 9527,
  "level": "伴讀書僮"
}

在這個例子中:

  • Keys(鍵):namenolevel
  • Values(值):"華安"9527"伴讀書僮"

在 N8N 中的應用

在 n8n 的工作流程中,JSON 扮演重要角色:

  1. 發送 HTTP 請求時,可能會帶一包 JSON 資料
  2. 外部服務回應時,通常也會回傳 JSON 格式的資料
  3. n8n 可以輕鬆處理 JSON,甚至一個節點就能完成解析

網路爬蟲 - 自動化資料收集

爬蟲不是真的蟲!

網路爬蟲(Web Crawler)聽起來很可怕,但它其實只是:

  • 一支會發動 HTTP 請求的程式
  • 定期或不定期地去網站抓取資料
  • 自動化地收集網路上的資訊

爬蟲的工作流程

  1. 資料收集:定期去爬取特定網站的資料

    • 例如:證交所的股票收盤價
    • 例如:新聞網站的最新消息
  2. 資料處理:爬回來的資料需要經過

    • 清洗(去除不需要的部分)
    • 整理(格式化)
    • 分析(找出有用的資訊)
    • 統計(計算相關數據)
  3. 資訊產出

    • Data(原始資料)→ 經過處理 → Information(有用的資訊)

總結

這些技術名詞看似複雜,但理解它們的基本概念後,你會發現:

  1. API - 程式之間的溝通介面
  2. Webhook - 被動接收通知的機制
  3. HTTP 請求 - 網路通訊的基本動作
  4. REST - 一種 API 設計規範
  5. JSON - 資料交換的標準格式
  6. 網路爬蟲 - 自動化收集資料的程式

掌握這些概念後,你在使用 N8N 串接各種服務時會更得心應手。下一集我們將實際操作,開始抓取網路資料,例如新聞網站或書局網站的資訊,並學習如何處理這些資料。

準備好了嗎?下一集我們就要開始來試著在 n8n 裡學著怎麼去抓取網路的資料,來做一些比較好玩的事。


上一篇
[為你自己學 n8n] 第 4 天,節點大師之路:產生寶可夢、篩選、算戰力!
系列文
為你自己學 n8n5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言