「このツールと連携したいけれど、専用のノードがない…」
そんな時に頼りになるのが、n8nの万能ナイフ「HTTP Request」ノードです。これさえ使いこなせれば、世界中のほぼすべてのWebサービス(API)と連携が可能になります。
しかし、多くの非エンジニアがここで挫折します。その原因の99%は「認証(Authentication)」です。
「Header? Bearer? API Key? 何をどこに入力すればいいの?」
この記事では、そんなAPIアレルギーの方のために、HTTP Requestノードにおける認証設定を、「3つの鉄板パターン」に絞ってわかりやすく解説します。これを読めば、ドキュメントの読み方が変わり、あらゆるサービスを自在に操れるようになります。
【結論】APIキーは「通行手形」。渡す場所は3箇所だけ
難しく考えるのはやめましょう。認証とは、相手のサービスに「私は怪しい者ではありません(APIキーを持っています)」と証明する通行手形を見せる行為です。
そして、その手形を見せる場所(設定箇所)は、大きく分けて以下の3パターンしかありません。
- Header(ヘッダー): 封筒の宛名書き部分に書く(最も一般的)
- Query Parameters(クエリパラメータ): URLの後ろにくっつける
- Body(ボディ): 封筒の中身(手紙)に書く(稀なケース)
それぞれの設定方法を具体的に見ていきましょう。
【完全ガイド】3大認証パターンの設定手順
n8nの「HTTP Request」ノードを開き、Authentication の項目を設定していきます。
パターン1: Headerにキーを入れる(Header Auth)
最近のモダンなSaaS(Notion, DeepLなど)で最も多いパターンです。
設定手順:
- HTTP Requestノードの Authentication を
Generic Credential Typeに設定します。 - Generic Auth Type で
Header Authを選択します。 - Credential for Header Auth で「Create New」を選択します。
- 出てきた画面で以下を入力します。
- Name:
AuthorizationやX-API-KEYなど(ドキュメントで指定された名前) - Value: 取得したAPIキー
- Name:
★ここがポイント:
ドキュメントに「Authorization: Bearer sk-12345…」と書かれている場合は、Value欄に Bearer sk-12345... と、「Bearer 」(半角スペース含む)をセットで入力する必要があります。
パターン2: URLにキーを入れる(Query Auth)
古いサービスや、簡易的なAPI(OpenWeatherMapなど)でよく使われます。URLの末尾に ?api_key=xxxx と付くタイプです。
設定手順:
- Authentication を
Generic Credential Typeに設定。 - Generic Auth Type で
Query Authを選択。 - Credential for Query Auth で「Create New」を選択。
- 入力画面:
- Name:
api_keyやkeyなど(ドキュメントで指定された名前) - Value: APIキーそのもの
- Name:
パターン3: IDとパスワードを使う(Basic Auth)
WordPressのAPIや、社内システムなどで使われる「ユーザー名」と「パスワード」の組み合わせです。
設定手順:
- Generic Auth Type で
Basic Authを選択。 - User: ユーザー名
- Password: パスワード(またはアプリケーションパスワード)
n8nの「Credential」機能を使うべき理由
「なぜ直接ヘッダーにキーを書き込まずに、わざわざCredentialを作るの?」と思われたかもしれません。
それには重要な理由があります。
- セキュリティ: Credentialに保存されたキーは暗号化され、ワークフローをエクスポート(共有)しても他人には見えません(空欄になります)。
- 使い回し: 一度NotionのCredentialを作れば、別のHTTP Requestノードでもリストから選ぶだけで使い回せます。
APIキーをノード内の「Value」欄に直接ベタ書きするのは、セキュリティ事故の元なのでやめましょう。
よくあるエラーとトラブルシューティング
エラー1: 「401 Unauthorized」
意味: 「誰だお前は!」(認証失敗)
対処法:
- APIキーのコピペミスはありませんか?(余計なスペースが入っている等)
- Headerの名前(Name)は正確ですか?(
x-api-keyなのかAuthorizationなのか) Bearerという接頭辞が必要ではありませんか?
エラー2: 「403 Forbidden」
意味: 「お前であることはわかったが、通すわけにはいかん」(権限不足)
対処法:
- 無料プランの制限を超えていませんか?
- そのAPIキーに、実行しようとしている操作(書き込みなど)の権限が付与されていますか?(Read Onlyになっていないか)
[関連サジェストKW] 初心者向けAPIドキュメントの読み方
英語のAPIドキュメントを見ると「うっ」となりますが、見るべき場所は1箇所だけです。
たいてい、左メニューの「Authentication」または「Getting Started」という項目に、以下のようなサンプルコードがあります。
curl https://api.example.com/v1/users \
-H "Authorization: Bearer YOUR_API_KEY"
この -H というのが Header の意味です。これを見たら、「あ、n8nでHeader Authを選んで、名前をAuthorization、値をBearer…にすればいいんだな」と判断できます。
まとめ
HTTP Requestノードの認証設定は、一度理解してしまえば「型」の使い回しです。
- Header Auth (一番多い)
- Query Auth (URLにパラメータ)
- Basic Auth (ID/Pass)
この3つの違いさえ理解していれば、未対応のツールでも自由に連携できます。まずは無料のAPIキーを取得して、HTTP Requestノードで「通行手形」を見せる練習から始めてみてください。


コメント