n8n HTTP Request 節點完全指南:串接任何 API,釋放自動化的無限潛能

n8n http request node

當你開始深入 n8n 的世界,你會發現它內建的數百個整合節點(例如 Google Sheets, Slack, Trello)雖然方便,但終究有其極限。總有一天,你會遇到一個夢寐以求的網路服務——可能是某個小眾的 CRM、一個新創的行銷工具,或是政府的公開資料平台——但你在 n8n 的節點面板中,卻找不到它的專屬整合。

這時候,你是否就只能放棄,回到手動複製貼上的老路?當然不!n8n 為你準備了一把「萬能鑰匙」,它能打開通往幾乎所有網路服務的大門,這就是 HTTP Request 節點

HTTP Request 節點是 n8n 中最核心、也最强大的功能節點之一。它讓你能夠直接與任何提供 API (應用程式介面) 的服務進行溝通。簡單來說,API 就像是餐廳的菜單和點餐系統,你(n8n)可以透過這個系統,告訴廚房(網路服務的伺服器)你要「查一份資料 (GET)」或「送一份訂單 (POST)」,廚房處理完後再把餐點(資料)回傳給你。

學會使用 HTTP Request 節點,意味著你的 n8n 自動化能力將不再受限於官方提供的整合清單。這篇文章將會是你最完整的實戰指南,帶你從零開始,拆解這個節點的每一個核心設定,並透過 GET 和 POST 兩種最常見的請求範例,手把手教你如何搞定 API 認證,真正釋放 n8n 的無限潛能。

HTTP Request 節點核心介面拆解

第一次打開 HTTP Request 節點,看到滿滿的參數設定,可能會讓你有點卻步。別擔心,我們先把它拆解成幾個核心區塊,你會發現它的邏輯非常清晰。

Request Method (請求方法)

這是你每次操作的第一步:告訴目標伺服器你「想做什麼」。雖然方法有很多種,但 95% 的情況下你只會用到以下幾種:

  • GET: 用於「獲取」或「查詢」資料。就像跟餐廳要菜單來看,你只是想讀取資訊,不會改變伺服器上的任何東西。
  • POST: 用於「新增」一筆資料。就像你填寫完點菜單交給廚房,要求伺服器根據你提供的內容,建立一筆新的紀錄。
  • PUT / PATCH: 用於「更新」或「修改」已存在的資料。PUT 是完整替換,PATCH 則是部分修改。
  • DELETE: 用於「刪除」一筆資料。

URL (請求網址)

這是你要溝通的對象地址,也就是 API 的「端點 (Endpoint)」。這個 URL 通常是你在閱讀 API 文件時,最需要找到的關鍵資訊。它明確地指向了你要操作的特定資源。

Authentication (認證)

這是你向伺服器「證明身份」的地方。很少有 API 會允許任何人隨意存取,你通常需要一組鑰匙(例如 API Key 或 Token)來證明你有權限進行操作。我們會在後面的章節詳細說明幾種常見的認證方式。

Body / Query Parameters (主體/查詢參數)

這是你向伺服器「傳遞具體指令」的地方。

  • Query Parameters: 主要用於 GET 請求。它會附加在 URL 的尾端,用來篩選或指定你想要的資料。例如 ?city=Taipei&unit=metric
  • Body Parameters: 主要用於 POSTPUT 請求。它包含了你要新增或修改的資料內容,通常是 JSON 格式。

Headers (標頭)

這就像是信件的信封,上面寫了一些額外的「元資訊 (Metadata)」,告訴伺服器一些請求的附加資訊。最常見的用途就是放置認證資訊(例如 API Key),或是宣告你發送的 Body 內容是 application/json 格式。

n8n http request node

實戰演練:GET 請求 – 從 API 獲取公開資料

理論講完,我們來實際操作。我們的第一個目標是串接一個完全公開、不需要認證的 API:氣象資料開放平台,來查詢台北市的天氣資訊。

步驟:

  1. 閱讀 API 文件: 我們查到,取得特定地區天氣的 API 端點是 https://opendata.cwa.gov.tw/api/v1/rest/datastore/F-C0032-001,它是一個 GET 請求,並且需要一個名為 locationName 的查詢參數。
  2. 設定 n8n 節點:
    • Authentication: 選擇 None (因為這是公開 API)。
    • Request Method: 選擇 GET
    • URL: 貼上 https://opendata.cwa.gov.tw/api/v1/rest/datastore/F-C0032-001
    • 在下方的 Query Parameters 區塊,點擊「Add Parameter」:
      • Name: 輸入 locationName
      • Value: 輸入 臺北市
    • 再新增一個 Parameter 來取得授權碼(此為氣象署 API 規定):
      • Name: Authorization
      • Value: CWA-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX (請換成你自己的氣象署 API 授權碼)
  3. 執行與檢視結果:
    • 點擊「Execute Node」。
    • 成功後,切換到右邊的「Output」視窗,你會看到一個 JSON 格式的資料結構,裡面就包含了台北市的詳細天氣預報!你已經成功完成了你的第一個 API 串接。

搞定 API 認證 (Authentication) 的三種主流方式

API 認證是新手串接時最容易卡關的地方。搞懂以下三種主流的認證方式,你就能應對 99% 的情況。

方式一:Header Authentication (標頭認證)

這是最常見、也最推薦的方式之一。服務提供方會給你一組 API Key 或 Token,並要求你將它放在請求的 Header 中。

  • 常見 Header 名稱: Authorization (通常搭配 BearerBasic 前綴), X-API-Key, x-access-token
  • n8n 設定: 如同上面的 LINE Notify 範例,在 Header 區塊新增對應的 Name 和 Value 即可。

方式二:Query Parameter Authentication (查詢參數認證)

有些 API 會要求你將認證金鑰直接放在 URL 的查詢參數中。

  • 常見參數名稱: apiKey, api_key, access_token
  • n8n 設定:Query Parameters 區塊新增對應的 Name,並將你的金鑰作為 Value 填入。

方式三:使用 n8n 內建的 Credential (憑證) 系統

直接將 API Key 寫在節點裡雖然方便,但有安全風險,也不利於管理。n8n 提供了強大的 Credential 系統讓你安全地儲存和重複使用這些金鑰。

  • 優點: 安全(金鑰會被加密儲存)、可重複使用、易於管理(更新金鑰時只需更新一個地方)。
  • n8n 設定:
    1. 在節點的 Authentication 下拉選單中,選擇 Generic Credential Type
    2. Generic Credential Type 中,根據你的 API 認證方式選擇 Header AuthQuery Auth
    3. 點擊「Create New Credential」,在彈出視窗中為你的憑證命名(例如 MyLINE-Notify),並填入 Name(例如 Authorization)和 Value(例如 Bearer YOUR_TOKEN)。
    4. 儲存後,未來在任何 HTTP Request 節點,你都可以直接從 Credential 選單中選用你儲存好的憑證,無需再重複貼上金鑰。

進階技巧與常見問題排解 (FAQ)

如何處理 API 回傳的檔案 (例如圖片或 PDF)?

當 API 回傳的不是 JSON 資料而是一個檔案時,你需要在節點設定的 Options 中,找到 Response Format,將其從預設的 JSON 改為 File。這樣 n8n 就會將收到的數據當作二進制檔案來處理,方便你後續存到硬碟或上傳到其他服務。

為什麼我的請求失敗了?(讀懂 Status Code)

當節點執行失敗時,第一時間應該去看 Output 中的 statusCode。這是一個三位數的代碼,能告訴你錯誤的大致原因:

  • 200: 成功 (OK)
  • 400: 請求格式錯誤 (Bad Request),通常是你的 Body 或 Query 參數送錯了。
  • 401 / 403: 未授權 (Unauthorized / Forbidden),檢查你的 API Key 或 Token 是否正確、權限是否足夠。
  • 404: 找不到資源 (Not Found),檢查你的 URL 是否拼錯。
  • 429: 請求過於頻繁 (Too Many Requests),你觸發了速率限制,該在流程中加入 Wait 節點了!

如何處理分頁 (Pagination) 資料?

當你用 GET 請求抓取一個列表時,API 通常不會一次把數千筆資料都給你,而是會採用「分頁」的方式,一次只給一部分(例如 100 筆),並告訴你下一頁的連結或頁碼。要抓取所有資料,你需要在 n8n 中建立一個迴圈,不斷呼叫 API 並更新頁碼參數,直到所有頁面的資料都抓取完畢為止。

n8n http request node

結語

HTTP Request 節點是 n8n 的超級樞紐,它將你從有限的內建整合中解放出來,賦予你連接整個網路世界的能力。一旦你掌握了它,任何有提供 API 的服務,都將成為你自動化帝國版圖的一部分。

今天我們學會了最核心的知識:

  • 核心介面: 了解 Method, URL, Body, Header 的基本作用。
  • GET/POST 實戰: 親手完成了獲取資料與發送資料的經典操作。
  • 認證大全: 掌握了三種主流的 API 認證方式,並學會使用 Credential 系統。

現在,就去找一個你日常使用的網路服務(例如記帳軟體、專案管理工具、或是任何你感興趣的公開資料平台),找到它的 API 文件,然後打開 n8n,試著用今天所學的知識,發出你的第一個客製化 API 請求吧!這將是你自動化能力躍升的起點。

延伸閱讀
n8n IF 節點教學:掌握 True/False 條件判斷,打造更智慧的自動化工作流
n8n Switch 節點教學:告別複雜 IF 巢狀結構,優雅實現多重條件判斷
n8n Merge 節點教學:合併多個資料來源,告別手動複製貼上
n8n Code 節點終極教學:釋放 JavaScript 的力量,打造無極限自動化
n8n Code 節點 Python 教學:啟用並執行 Python 程式碼,釋放數據處理超能力
n8n Wait 節點教學:讓工作流學會「等待」,完美解決 API 限制與定時任務
n8n Set 節點教學:你的資料瑞士刀,新增、修改、篩選欄位一次搞定
n8n NoOp 節點教學:一個「什麼都不做」的節點,為何是整理工作流的神器?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端