n8nのHTTP Requestでエラーが出る原因まとめ【初心者向け】

AI自動化

n8nでAPI連携をしていると、

・HTTP Requestでエラーになる
・JSONエラーが出る
・なぜか投稿できない

といった問題にほぼ確実にぶつかります。

実際、自分もかなりハマりました。

特に厄介なのが、

X APIの問題に見えて、実はn8n側の設定ミス

というパターンです。

この記事では、実際に詰まったログをもとに
HTTP Requestでエラーになる原因を整理します。


よくあるエラー一覧

まず、よく出るエラーはこのあたりです。

  • JSON parameter needs to be valid JSON
  • Bad request
  • 401 Unauthorized
  • 403 Forbidden
  • 429 Too Many Requests

一見バラバラに見えますが、原因はほぼ3つに絞れます。


エラーの原因はこの3つ

① JSONの書き方ミス
② HTTP Requestの設定ミス
③ 認証・権限の問題


JSONエラーが出る原因

一番多いのがこれです。

JSON parameter needs to be valid JSON

原因はシンプルで、JSONとして壊れている


ダメな例

{
  'text': 'hello'
}
{
  "text": "hello",
}
{{ $json.text }}

正しい書き方

{
  "text": "hello"
}

一番安全な方法

{{ JSON.stringify({ text: $json.post_text }) }}

改行や記号があっても壊れないです。


Using JSONでハマる問題

n8n特有の罠です。


ダメな例

{{ $json.post_text }}

これはただの文字列です。


正しい書き方

{
  "text": "{{ $json.post_text }}"
}

または、以下のような書き方がよいと思います。

{{ { text: $json.post_text } }}

JSONオブジェクトで渡すのが重要です。


HTTP Request設定ミス

ここもかなり多いです。


チェックポイント

  • Method:POST
  • Content-Type:application/json
  • Body:JSON形式

ここズレるとほぼ確実にエラーが出ます。


認証エラー(401 / 403)

401 Unauthorized

考えられる原因は以下の2つです。

  • Bearerトークンミス
  • Authorizationヘッダ不備

403 Forbidden

こちらも考えられる原因は以下の2つです。

  • 権限不足
  • Freeプラン制限

👉 endpoint使えないケースあり


データが途中で消える問題

これかなりハマるやつ。


ダメなコード

return {
  json: {
    text: "生成文章"
  }
}

このコードだと、データが途中で全部消えます


正しい書き方

return {
  json: {
    ...$json,
    text: "生成文章"
  }
}

既存データを残すことが重要です。


まとめ

n8nのHTTP Requestエラーは、ほぼこの3つです。

  • JSONミス
  • 設定ミス
  • 認証ミス

そして一番重要なのは「APIじゃなく自分の設定が原因なことが多い」です。

タイトルとURLをコピーしました