Files
momentry_core/docs/N8N_HTTP_REQUEST_GUIDE.md

5.3 KiB

n8n HTTP Request Node 設定指南

項目 內容
建立者 OpenCode
建立時間 2026-03-26
文件版本 V1.1

版本歷史

版本 日期 目的 操作人 工具/模型
V1.0 2026-03-23 創建文件 Warren OpenCode / MiniMax M2.5
V1.1 2026-03-26 新增 API Key 驗證說明,更新 curl 範例 OpenCode deepseek-reasoner

API URL 說明:

  • 本地測試: http://localhost:3002
  • n8n workflow: https://api.momentry.ddns.net

⚠️ 在 n8n 中請使用 api.momentry.ddns.net,不要使用 localhost:3002


錯誤排除

錯誤訊息: "Your request is invalid or could not be processed by the service"

這通常表示 HTTP Request Node 的設定不正確。


正確的 Node 設定方式

方法 1: 使用 JSON Body (推薦)

Node: HTTP Request
├── URL: https://api.momentry.ddns.net/api/v1/n8n/search
├── Method: POST
├── Authentication: None
├── Send Body: ✓ (checked)
├── Content Type: JSON
├── Body:
│   {
│     "query": "={{ $json.query }}",
│     "limit": "={{ $json.limit }}"
│   }
├── Send Headers: ✓ (checked)
└── Header Parameters:
    └── X-API-Key: {{ $env.MOMENTRY_API_KEY }}

方法 2: 使用 Raw Body + Headers

Node: HTTP Request
├── URL: https://api.momentry.ddns.net/api/v1/n8n/search
├── Method: POST
├── Authentication: None
├── Send Body: ✓ (checked)
├── Specify Body: Using JSON
├── JSON Body: 
│   {
│     "query": "charade",
│     "limit": 3
│   }
├── Send Headers: ✓ (checked)
└── Header Parameters:
    ├── Content-Type: application/json
    └── X-API-Key: {{ $env.MOMENTRY_API_KEY }}

方法 3: 最簡單的 Hardcoded 測試

Node: HTTP Request
├── URL: https://api.momentry.ddns.net/api/v1/n8n/search
├── Method: POST
├── Send Body: ✓
├── Content Type: JSON
└── Body:
    {
      "query": "charade",
      "limit": 3
    }

常見錯誤與解決

錯誤 1: Body 格式錯誤

錯誤設定:

Body Parameters:
  query = {{ $json.query }}
  limit = {{ $json.limit }}

正確設定:

Content Type: JSON
Body:
{
  "query": "={{ $json.query }}",
  "limit": "={{ $json.limit }}"
}

錯誤 2: 缺少引號

錯誤:

{
  query: "charade",
  limit: 3
}

正確:

{
  "query": "charade",
  "limit": 3
}

錯誤 3: URL 錯誤

錯誤:

URL: http://localhost:3002/api/v1/n8n/search

正確:

URL: https://api.momentry.ddns.net/api/v1/n8n/search

測試步驟

步驟 1: 創建最簡單的測試

  1. 新建工作流程
  2. 添加 Manual Trigger Node
  3. 添加 HTTP Request Node
  4. 設定如下:
    • URL: https://api.momentry.ddns.net/api/v1/n8n/search
    • Method: POST
    • Send Body: ✓
    • Content Type: JSON
    • Body: {"query": "charade", "limit": 2}

步驟 2: 執行測試

  1. 點擊 Execute Workflow
  2. 查看 HTTP Request Node 的輸出
  3. 應該看到 JSON 回應

步驟 3: 確認成功

成功的回應應該包含:

{
  "query": "charade",
  "count": 2,
  "hits": [...]
}

直接複製使用的工作流程 JSON

{
  "name": "Video Search - Working Example",
  "nodes": [
    {
      "parameters": {},
      "name": "When clicking \"Execute Workflow\"",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [250, 300]
    },
    {
      "parameters": {
        "url": "https://api.momentry.ddns.net/api/v1/n8n/search",
        "method": "POST",
        "sendBody": true,
        "contentType": "json",
        "body": {
          "query": "charade",
          "limit": 3
        },
        "options": {}
      },
      "name": "Search Video API",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [450, 300]
    }
  ],
  "connections": {
    "When clicking \"Execute Workflow\"": {
      "main": [
        [
          {
            "node": "Search Video API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}

導入方式:

  1. 在 n8n UI 中,點擊左上角的 Menu
  2. 選擇 Import from File
  3. 選擇上面的 JSON 文件

驗證 API 可用性

在終端機測試:

# 需要 API Key 驗證 (設定環境變數或直接替換)
export MOMENTRY_API_KEY="muser_68600856036340bcafc01930eb4bd839_1774418104_97221b69"

curl -X POST https://api.momentry.ddns.net/api/v1/n8n/search \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $MOMENTRY_API_KEY" \
  -d '{"query":"charade","limit":2}'

如果 curl 成功但 n8n 失敗,問題在於 n8n HTTP Request Node 的設定。


需要幫助?

如果仍然無法工作:

  1. 開啟工作流程
  2. 點擊 HTTP Request Node
  3. 點擊右上角的 Execute Node 單獨執行
  4. 查看錯誤訊息的詳細內容
  5. 檢查 Network tab 中的 request/response

相關文件