內容簡介
HTTP Request 節點是 n8n 中最萬用的節點之一,允許使用者透過 HTTP 請求與任何提供 REST API 的外部服務互動;即使 n8n 沒有內建該服務的節點,也能用它串接。
本文將介紹該節點的應用場景、範例工作流程,以及如何安全地保管 API 金鑰等憑證。
範例場景
假設您需要自動取得天氣資料,並將其記錄到 Google Sheets 中。HTTP Request 節點可用於向天氣 API 發送請求並取得天氣資訊。
Workflow 範例
範例說明
此工作流程包含兩個主要節點:
- HTTP Request 節點:向 WeatherAPI 發送 GET 請求,查詢參數帶入
q=Taipei,取得當前天氣資訊。 - Set 節點(Edit Fields):從回應中取出國家、城市、天氣與溫度,整理成精簡的欄位,供後續處理或儲存。
範例中的 your-api-key 為示意用;實際使用時,請不要把金鑰直接寫在查詢參數裡,改用下一段介紹的 Credentials 方式保管。
執行前、後差異
執行前:工作流程未開始,未有任何資料記錄。
[
{
"location": {
"name": "Taipei",
"region": "T'ai-pei",
"country": "Taiwan",
"lat": 25.0392,
"lon": 121.525,
"tz_id": "Asia/Taipei",
"localtime_epoch": 1735520021,
"localtime": "2024-12-30 08:53"
},
"current": {
"last_updated_epoch": 1735519500,
"last_updated": "2024-12-30 08:45",
"temp_c": 18.2,
"temp_f": 64.8,
"is_day": 1,
"condition": {
"text": "Partly cloudy",
"icon": "//cdn.weatherapi.com/weather/64x64/day/116.png",
"code": 1003
},
"wind_mph": 2.9,
"wind_kph": 4.7,
"wind_degree": 171,
"wind_dir": "S",
"pressure_mb": 1023,
"pressure_in": 30.21,
"precip_mm": 0,
"precip_in": 0,
"humidity": 77,
"cloud": 75,
"feelslike_c": 18.2,
"feelslike_f": 64.8,
"windchill_c": 15.5,
"windchill_f": 59.8,
"heatindex_c": 15.5,
"heatindex_f": 59.8,
"dewpoint_c": 9.5,
"dewpoint_f": 49.2,
"vis_km": 10,
"vis_miles": 6,
"uv": 0.6,
"gust_mph": 4.1,
"gust_kph": 6.6
}
}
]執行後:從 Weather API 取得的天氣資料會存儲在工作流程的輸出中,例如天氣狀態與溫度。
[
{
"Country": "Taiwan",
"City": "Taipei",
"Weather": "Partly cloudy",
"Temperature": "18.2"
}
]安全保管 API 金鑰:使用 Credentials
直接把 API 金鑰填在節點參數中,金鑰會以明文跟著工作流程一起匯出、分享或截圖外流。比較好的做法是把金鑰存成 n8n 的 Credential:
- 在 HTTP Request 節點的 Authentication 中,若 n8n 已有該服務的內建憑證,優先選擇 Predefined Credential Type(官方建議)。
- 沒有內建憑證的服務,選擇 Generic Credential Type,再依 API 的驗證方式挑選,例如:金鑰放在網址參數用 Query Auth(本例 WeatherAPI 的
key參數即屬此類)、放在標頭用 Header Auth 或 Bearer Auth。 - 建立 Credential 後,從查詢參數中移除原本的
key欄位。
Credential 會以 n8n 的加密金鑰加密後存放;自架時請務必備份這把加密金鑰(可用環境變數 N8N_ENCRYPTION_KEY 指定),遺失後已儲存的憑證將無法解密。
小技巧
- 匯入 cURL:API 文件若提供 cURL 範例,可在節點中選擇 Import cURL 直接貼上,自動帶入方法、網址、標頭與內容。
- 遵守 API 使用限制:大量請求時使用 Batching 選項(Items per Batch、Batch Interval)分批送出,避免觸發速率限制;資料分頁則使用 Pagination 選項。
- 格式化資料:使用 Set 節點整理回應,只保留後續需要的欄位。
- 檢查請求與回應:在節點的輸出面板檢視回傳資料;需要狀態碼與標頭時,開啟 Response 選項中的 Include Response Headers and Status。
搭配 AI Agent 使用
HTTP Request 節點也可以直接接在 AI Agent 底下作為「工具」,讓 AI 自行決定何時呼叫 API(例如查詢天氣)。作為工具時可以開啟 Optimize Response,只把需要的欄位或截斷後的內容交給模型,減少 Token 用量與費用。
要注意的是,交給 AI 的 API 工具應盡量只提供「讀取」權限,避免模型在誤判時執行刪除或付款等動作。
n8n 系列文章
- n8n 是什麼?開源工作流程自動化平台,自架與 Cloud 怎麼選
- n8n Set 節點教學:新增、改寫與整理資料欄位
- n8n Limit 節點教學:限制輸出筆數,避免 API 超量與費用暴增
- n8n HTTP Request 節點教學:串接第三方 API 與安全保管憑證
- n8n Filter 節點教學:依條件過濾資料
參考連結
成本與風險摘要
- 適用對象與規模:需要串接沒有內建節點的服務、或想呼叫自訂 API 的 n8n 使用者。
- 成本(硬體、訂閱、授權):節點本身不另外收費;外部 API 可能依呼叫次數收費,請參考各服務的方案。
- 維護時間:外部 API 改版時需調整網址與參數;建議定期檢查流程執行紀錄是否出現錯誤。
- 資安注意事項:API 金鑰一律存放在 Credentials,不要寫在參數或 Set 節點中;自架時備份加密金鑰;分享工作流程前確認沒有夾帶金鑰。
- 常見誤區:把金鑰寫在查詢參數後直接匯出分享;忽略 API 速率限制導致帳號被暫停。
- 不建議使用的情況:n8n 已有該服務的內建節點時,優先使用內建節點,設定與維護都較簡單。
- 測試日期與版本號:資料查核日期:2026-10-28;依官方文件對照 n8n 2.45.5(範例為作者早期實作,本次未重新實機測試)。
