Power Automate「HTTP要求を送信します」とは?Web API連携の切り札を徹底解説!
Power Automate(パワー・オートメイト)で業務を自動化する際、OutlookやSharePoint、TeamsといったMicrosoft 365のサービスとの連携は非常に簡単です。しかし、「社内の独自システムと連携したい」「特定のWebサービスが提供するAPIを直接叩きたい」「Power Automateに標準コネクタがないサービスと繋ぎたい」と思ったことはありませんか?
そんな時に、その強力な力を発揮するのがPower Automateの「HTTP要求を送信します」アクション(通称「HTTPコネクタ」)です。これは、Power Automateの最も汎用性が高く、同時に最も技術的な知識を必要とするアクションの一つです。
「HTTP要求を送信します」アクションとは?
「HTTP要求を送信します」アクションは、その名の通り、Web上でデータをやり取りするための標準的なプロトコルであるHTTP(Hypertext Transfer Protocol)を使って、Webサーバーに対して「要求(リクエスト)」を送信するためのアクションです。
より具体的に言うと、これはWeb API(Application Programming Interface)との連携を目的とした汎用的なツールです。
Web APIとは何か?なぜHTTP要求を使うのか?
- Web API: ソフトウェア同士がインターネットを通じて情報をやり取りするための「窓口」や「ルール」のようなものです。例えば、天気予報サイトが「今日の東京の天気」という情報を提供しているAPIがあれば、それに対して「東京の今日の天気教えて」と問い合わせることで、プログラム的に天気情報を取得できます。
- なぜHTTP要求を使うのか: ほとんどのWeb APIは、HTTPプロトコルを使って通信します。つまり、ブラウザがWebページを表示するためにサーバーに要求を送るのと同じ仕組みで、プログラムがAPIに情報を要求したり、情報を送ったりするのです。Power Automateの「HTTP要求を送信します」アクションは、このHTTP通信をフローの中から直接行うことを可能にします。
「標準コネクタ」と「HTTP要求」の違い
Power Automateには、OutlookやSharePointなど、たくさんの「標準コネクタ」がありますよね。これらも裏側ではHTTP通信を使ってAPIを呼び出しています。
- 標準コネクタ: あらかじめ、そのサービスを使うための「トリガー」や「アクション」が用意されており、ユーザーはボタンをクリックしたり、ドロップダウンから選んだりするだけで簡単に使えます。複雑なHTTP通信の知識は不要です。ユーザーフレンドリーな「既成のインターフェース」です。
- 「HTTP要求を送信します」アクション: 標準コネクタが提供されていないサービスや、標準コネクタでは実現できないようなAPIの細かな操作を直接行いたい場合に利用します。Web APIの仕様(URL、リクエスト方法、認証など)を自分で理解し、設定する必要があります。言わば、Web APIと直接「会話」するための「汎用翻訳機」のようなものです。
「HTTP要求を送信します」アクションを使う理由:Web API連携のメリット
このアクションがなぜ強力で、どのような場面で使われるのかを見ていきましょう。
メリット
連携サービスの範囲を飛躍的に拡大できる
Power Automateに標準コネクタが用意されていないWebサービスや、社内の独自開発システムがWeb APIを公開している場合でも、それらのAPIと直接連携し、データを送受信できるようになります。これにより、Power Automateで自動化できる業務の範囲が格段に広がります。
例: 社内勤怠システムAPIから出退勤データを取得する、特定のWebサイトが提供する公開APIから株価情報を取得する。
標準コネクタでは実現できない詳細な操作が可能になる
たとえ標準コネクタがあるサービスでも、そのコネクタが提供するアクションだけでは、APIの全ての機能を使えない場合があります。HTTP要求を送信しますアクションを使えば、APIの特定のバージョンを指定したり、標準コネクタにはない細かなパラメーターを設定したりするなど、APIのより詳細な機能を直接呼び出すことができます。
例: SharePointのファイルに、標準コネクタでは設定できない特定のカスタムメタデータを直接付与する(SharePoint REST APIの活用)。
より効率的なデータ処理
特定のシナリオでは、HTTP要求を直接行うことで、標準コネクタよりも少ないAPIコール数で目的のデータを取得できる場合があります。これは、Power AutomateのAPIリクエスト制限を考慮する上で重要になることがあります。
例: 多数のレコードを一括で更新するバッチAPIを呼び出す。
既存のAPI知識を活用できる
既にAPIの知識やRESTful APIの設計思想がある開発者にとっては、その知識をPower Automateのフロー構築に直接活かすことができます。
活用シナリオ例
社内システム連携:
経費精算システムや勤怠システムからデータを取得し、SharePointリストに転記したり、Excelに集計したりする。
顧客管理システム(Web APIを持つもの)から顧客情報を取得し、Teamsで共有する。
外部Webサービス連携
- 特定のSNSのAPIを叩いてデータを取得し、自動で分析を行う。
- 天気情報APIから最新の天気予報を取得し、Teamsに投稿する。
- 翻訳APIを使ってテキストを自動翻訳する。
高度なMicrosoftサービス連携
SharePointのREST APIを直接使って、標準コネクタではできない細かな操作(例: サイトのプロパティを更新する、特定の種類の列の値を複雑な形式で設定する)を行う。
Microsoft Graph APIを呼び出して、より詳細なユーザー情報、グループ情報、Teamsの設定などを取得・操作する。
「HTTP要求を送信します」アクションの基本的な使い方と設定項目
「HTTP要求を送信します」アクションは、Power Automateのフローデザイナーで「新しいステップ」として追加し、コネクタ一覧から「HTTP」を選択することで利用できます。
主な設定項目は以下の通りです
メソッド (Method)
HTTPリクエストの種類を指定します。Web APIとの連携では、主に以下のものが使われます。
GET: サーバーから情報を取得する(データを読み込む)際に使用。POST: サーバーに新しい情報を作成したり、データを送信したりする際に使用。PUT: サーバー上の既存の情報を完全に更新/置換する際に使用。PATCH: サーバー上の既存の情報の一部を更新する際に使用。DELETE: サーバー上の情報を削除する際に使用。
APIドキュメントに記載されているメソッドを指定します。
URI (Uniform Resource Identifier)
APIのエンドポイントURLを指定します。どのWebサービスに対して、どのAPIを呼び出すのかを示します。
例: https://api.example.com/data/items
ヘッダー (Headers)
HTTPリクエストの追加情報です。キーと値のペアで指定します。
よく使うヘッダー
Content-Type: 送信するリクエストボディのデータ形式(例:application/json、application/xml)。Accept: サーバーから受け取りたい応答のデータ形式(例:application/json)。Authorization: 認証情報(APIキー、アクセストークンなど)を渡す際に使用。User-Agent: リクエストを送信しているクライアントの情報(通常は指定不要)。
本文 (Body)
POSTやPUT、PATCHメソッドでサーバーにデータを送信する際に、その送信するデータ本体を記述します。
形式は通常JSON(JavaScript Object Notation)が一般的です。
例(JSON形式): {"name": "新しいアイテム", "value": 123}
認証 (Authentication):
接続先のAPIが認証を要求する場合に設定します。ここが最も複雑で重要な部分です。
一般的な認証の種類:
なし (None): 認証不要な公開APIの場合。基本 (Basic): ユーザー名とパスワードをBase64エンコードして送信する(セキュリティレベルは低い)。未加工 (Raw): 認証情報をヘッダー(例:Authorizationヘッダー)に直接記述する場合。Active Directory OAuth: Azure ADで保護されたAPIやMicrosoft Graph APIにアクセスする場合に利用。複雑な設定が必要ですが、最も推奨されるセキュアな方法です。API キー (API Key): 特定のAPIキーをヘッダーやクエリパラメータに含める場合。
APIドキュメントに記載されている認証方法に従って正確に設定する必要があります。
「HTTP要求を送信します」アクションを使う際の注意点とトラブルシューティング
「HTTP要求を送信します」は強力ですが、専門知識が必要なため、トラブルも発生しやすいです。
注意点
APIドキュメントの熟読:
連携したいWebサービスのAPIドキュメントを徹底的に読み込むことが不可欠です。どのURIに、どのメソッドで、どのようなヘッダーとボディを送り、どのような認証が必要か、そしてどのような応答が返ってくるかを正確に理解する必要があります。
認証の複雑さ
特にActive Directory OAuthなどの認証は複雑で、Azure Portalでのアプリケーション登録やアクセス許可の付与、管理者の同意など、Power Automate以外の設定も必要になります。
応答の解析(JSONの解析)
APIから返される応答(Response)は、通常JSON形式です。このJSONデータから必要な情報を抽出するためには、「JSONの解析 (Parse JSON)」アクションを使用し、正確なスキーマ(データの構造定義)を設定する必要があります。スキーマが間違っていると、後のステップでデータが正しく取得できません。
エラーハンドリング
API呼び出しは、ネットワークの問題、API側のエラー、認証情報の期限切れなど、様々な理由で失敗することがあります。必ずエラーハンドリング(例: 再試行ポリシーの設定、構成:実行条件での失敗時処理)を設定し、フローが途中で停止しないようにするべきです。
API制限 (Rate Limit)
多くのWeb APIには、短時間での呼び出し回数に制限(レートリミット)があります。制限を超過すると429エラーなどが発生し、一時的にAPIが利用できなくなります。フローの実行頻度や「Apply to each」ループ内でのAPI呼び出し回数に注意し、「遅延」アクションで呼び出し間隔を調整するなどの対策が必要です。
セキュリティ
APIキーや認証情報がフローの実行履歴に残る可能性があるので、機密情報の扱いに注意が必要です。安全な認証方法(OAuth 2.0など)や、Azure Key Vaultなどとの連携も検討します。
トラブルシューティングのヒント
実行履歴の「出力」を確認する
HTTPアクションが失敗した場合、実行履歴のそのステップの「出力」タブに、サーバーからの詳細なエラー応答やHTTPステータスコード(例: 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Internal Server Error, 504 Gateway Timeoutなど)が表示されています。ここから原因を特定する手がかりを見つけましょう。
PostmanなどのAPIテストツールで試す
Power Automateでフローを組む前に、PostmanやInsomniaなどのAPIテストツールを使って、API呼び出しが期待通りに動作するか、認証が通るかを確認することをお勧めします。これにより、問題がフローの組み方にあるのか、API自体にあるのかを切り分けられます。
「作成」(Compose)アクションでデバッグする
API呼び出しの直後に「作成」アクションを挟み、HTTPアクションのbodyやheaders、statusCodeなどを入力として設定することで、APIからの生データをフロー実行履歴で確認し、デバッグの助けとすることができます。
まとめ
Power Automateの「HTTP要求を送信します」アクションは、標準コネクタでは対応できないWeb APIとの連携を可能にし、自動化の可能性を大きく広げる強力な武器です。
その活用には、APIのドキュメントを理解し、認証やリクエスト・レスポンスの構造を正確に設定するなどの専門的な知識が求められます。しかし、その学習コストをかける価値は十分にあります。

