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じゃなく自分の設定が原因なことが多い」です。

