n8nのHTTP Requestで認証設定|3パターン完全ガイド

n8nのHTTP Request認証設定ガイドのアイキャッチ画像。ノートPCの画面にワークフローが表示され、「n8n認証 完全攻略 API連携3大パターン」という文字が重なっている。 TITLE: n8n認証完全攻略!API連携3大パターン設定ガイド FILENAME: n8n-auth-api-guide.png AI開発フレームワーク・ツール

「このツールと連携したいけれど、専用のノードがない…」

そんな時に頼りになるのが、n8nの万能ナイフ「HTTP Request」ノードです。これさえ使いこなせれば、世界中のほぼすべてのWebサービス(API)と連携が可能になります。

しかし、多くの非エンジニアがここで挫折します。その原因の99%は「認証(Authentication)」です。

「Header? Bearer? API Key? 何をどこに入力すればいいの?」

この記事では、ランサーズ・クラウドワークスで累計200件以上のAPI連携・自動化案件を受注してきた経験をもとに、HTTP Requestノードにおける認証設定を「3つの鉄板パターン」に絞って解説します。実際の失敗談やトラブル対処法も交えて紹介しますので、初めての方でも30分以内に設定が完了するはずです。

【結論】APIキーは「通行手形」。渡す場所は3箇所だけ

難しく考えるのはやめましょう。認証とは、相手のサービスに「私は怪しい者ではありません(APIキーを持っています)」と証明する通行手形を見せる行為です。

そして、その手形を見せる場所(設定箇所)は、大きく分けて以下の3パターンしかありません。

  • Header(ヘッダー): 封筒の宛名書き部分に書く(最も一般的)
  • Query Parameters(クエリパラメータ): URLの後ろにくっつける
  • Body(ボディ): 封筒の中身(手紙)に書く(稀なケース)

それぞれの設定方法を具体的に見ていきましょう。

【完全ガイド】3大認証パターンの設定手順

n8nの「HTTP Request」ノードを開き、Authentication の項目を設定していきます。

パターン1: Headerにキーを入れる(Header Auth)

最近のモダンなSaaS(Notion, DeepLなど)で最も多いパターンです。

#### 設定手順:

  • HTTP Requestノードの AuthenticationGeneric Credential Type に設定します。
  • Generic Auth TypeHeader Auth を選択します。
  • Credential for Header Auth で「Create New」を選択します。

出てきた画面で以下を入力します。

  • Name: AuthorizationX-API-KEY など(ドキュメントで指定された名前)
  • Value: 取得したAPIキー

★ここがポイント:

ドキュメントに「Authorization: Bearer sk-12345」と書かれている場合は、Value欄に Bearer sk-12345... と、「Bearer 」(半角スペース含む)をセットで入力する必要があります。

> 【実体験】Notionの連携で1時間ハマった落とし穴

>

> 初めてNotionのHTTP Request認証を設定した際、ドキュメントを見ながら Name欄に authorization(小文字のa) と手打ちしたところ、何度試しても 401 Unauthorized が返ってきました。APIキーを3回取り直し、ワークフローを作り直し…それでも解決しない。1時間格闘してようやく気づいた原因は、たった1文字の大小文字の差でした。

>

> 正しくは Authorization(頭文字が大文字A) です。HTTPの仕様上ヘッダー名は大小文字を区別しませんが、サービス側の実装によっては厳密に区別されるケースがあります。Name欄の値は必ず公式ドキュメントからコピペするのが鉄則。手打ちは絶対に避けましょう。

パターン2: URLにキーを入れる(Query Auth)

古いサービスや、簡易的なAPI(OpenWeatherMapなど)でよく使われます。URLの末尾に ?api_key=xxxx と付くタイプです。

#### 設定手順:

  • AuthenticationGeneric Credential Type に設定。
  • Generic Auth TypeQuery Auth を選択。
  • Credential for Query Auth で「Create New」を選択。

入力画面:

  • Name: api_keykey など(ドキュメントで指定された名前)
  • Value: APIキーそのもの

パターン3: IDとパスワードを使う(Basic Auth)

WordPressのAPIや、社内システムなどで使われる「ユーザー名」と「パスワード」の組み合わせです。

#### 設定手順:

  • Generic Auth TypeBasic Auth を選択。
  • User: ユーザー名
  • Password: パスワード(またはアプリケーションパスワード)

【実践例】国産SaaSのHTTP Request認証設定

海外サービスの解説は多いですが、日本で普及している国産SaaSの設定例を紹介します。実際のクライアント案件で使用した設定です。

Chatwork(チャットワーク)

Chatworkは Header Auth を使います。日次レポートやアラートの自動通知案件でよく採用するパターンです。

| 項目 | 値 |

|——|—–|

| Name | X-ChatWorkToken |

| Value | 発行したAPIトークン(管理画面 → API Token) |

GET https://api.chatwork.com/v2/me

Header: X-ChatWorkToken: {your_token}

`

freee(フリー会計)

freeeは本来OAuth2が必要ですが、テスト用途なら Bearer Token(Header Auth) で簡易接続できます。

| 項目 | 値 |

|------|-----|

| Name | Authorization |

| Value | Bearer {アクセストークン} |

> 注意: freeeの本番連携はOAuth2フローの実装が推奨されています。Bearer Tokenは有効期限があるため、定期実行ワークフローには向きません。

Chatworkへの日次レポート通知やfreeeへの請求書自動作成など、こうした国産SaaS連携の案件では、1件あたり週4〜6時間の手作業を自動化できるケースが多く、費用対効果が高い自動化の代表例です。

n8nの「Credential」機能を使うべき理由

「なぜ直接ヘッダーにキーを書き込まずに、わざわざCredentialを作るの?」と思われたかもしれません。

それには重要な理由があります。

  • セキュリティ: Credentialに保存されたキーは暗号化され、ワークフローをエクスポート(共有)しても他人には見えません(空欄になります)。
  • 使い回し: 一度NotionのCredentialを作れば、別のHTTP Requestノードでもリストから選ぶだけで使い回せます。

APIキーをノード内の「Value」欄に直接ベタ書きするのは、セキュリティ事故の元なのでやめましょう。

【判断フロー】Generic Credential vs 専用Credential

n8nには「Generic Credential Type(汎用)」と「サービス専用Credential」の2種類があります。どちらを使うか迷ったら、このフローで判断してください。

`

専用のIntegrationノード(Notion, Slack, Gmail等)が存在する?

├─ YES → 専用ノード+専用Credentialを使う

│ (OAuth2の自動リフレッシュ等が組み込まれていて安定)

└─ NO → HTTP Requestノードを使う

├─ サービスのCredentialテンプレートがn8nにある?

│ ├─ YES → Generic Credential Typeでそのテンプレートを選択

│ └─ NO → Header / Query / Basic Auth を手動設定

└─ → 本記事の3パターンの出番

`

原則:専用Credentialがある場合は必ずそちらを優先。

Generic Credential(Header Auth等)は柔軟ですが、OAuthのトークン自動更新などの便利機能はありません。

よくあるエラーとトラブルシューティング

エラー1: 「401 Unauthorized」

意味: 「誰だお前は!」(認証失敗)

対処法:

  • APIキーのコピペミスはありませんか?(余計なスペースが入っている等)
  • Headerの名前(Name)は正確ですか?(x-api-key なのか Authorization なのか)
  • Bearer という接頭辞が必要ではありませんか?

エラー2: 「403 Forbidden」

意味: 「お前であることはわかったが、通すわけにはいかん」(権限不足)

対処法:

  • 無料プランの制限を超えていませんか?
  • そのAPIキーに、実行しようとしている操作(書き込みなど)の権限が付与されていますか?(Read Onlyになっていないか)

初心者向けAPIドキュメントの読み方

英語のAPIドキュメントを見ると「うっ」となりますが、見るべき場所は1箇所だけです。

たいてい、左メニューの「Authentication」または「Getting Started」という項目に、以下のようなサンプルコードがあります。

`bash

curl https://api.example.com/v1/users \

-H "Authorization: Bearer YOUR_API_KEY"

`

この -H` というのが Header の意味です。これを見たら、「あ、n8nでHeader Authを選んで、名前をAuthorization、値をBearerにすればいいんだな」と判断できます。

まとめ

HTTP Requestノードの認証設定は、一度理解してしまえば「型」の使い回しです。

  • Header Auth(最多・Notion/Chatworkなど)
  • Query Auth(URLにパラメータ・OpenWeatherMapなど)
  • Basic Auth(ID/Pass・WordPressなど)

この3パターンと「専用Credential vs Generic Credentialの判断フロー」を押さえておけば、未対応のツールでも自力で連携できます。

連携できたら、ぜひコメントで教えてください。 どのサービスと繋げたか、どこでハマったかなど、みなさんの実体験がこの記事を育てます。

次回はOAuth2認証(Google・Slack・freee本番連携など)の設定手順を解説予定です。更新を見逃したくない方はブログの読者登録をどうぞ。

参考文献・リンク

この記事の内容に関する開発・自動化のご依頼はお気軽にご相談ください。

累計200件以上の受注実績・残念評価ゼロ。

コメント

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