ADVERTISEMENT

【Power Automate】HTTPアクションが想定どおり進まない時の実行履歴から原因を読む方法

【Power Automate】HTTPアクションが想定どおり進まない時の実行履歴から原因を読む方法
🛡️ 超解決

Power AutomateでHTTPアクションを使用すると、外部APIやWebサービスとの連携が可能ですが、想定どおりに動作しないことがあります。実行履歴には失敗の原因を特定するための情報が豊富に含まれており、それを正しく読み解くことで迅速に問題を解決できます。本記事では、HTTPアクションがエラーになった際の実行履歴の見方、押さえるべきポイント、よくある失敗パターンとその対策を詳しく解説します。会社のシステム連携でお困りの方は、ぜひ参考にしてください。

【要点】この記事で確認すること

  • 最初に見る場所: 実行履歴の「出力」セクションにあるステータスコードと本文。HTTPアクションの応答が正しいかどうかをまず確認します。
  • 切り分けの軸: リクエスト側の問題(URL、ヘッダー、ボディの誤り)なのか、レスポンス側の問題(API側のエラー、認証失敗)なのかを切り分けます。
  • 注意点: 会社PCでHTTPアクションの設定を変更する前に、管理者に承認を得る、または影響範囲を確認してください。特に認証情報やエンドポイントの変更は慎重に行う必要があります。

ADVERTISEMENT

実行履歴の基本構成と見方

Power Automateのフローが実行されると、各アクションの実行結果が「実行履歴」に記録されます。HTTPアクションの場合は、次の情報が特に重要です。

  • 入力: フローで設定したHTTPリクエストの内容(URL、メソッド、ヘッダー、本文)が表示されます。
  • 出力: 実際に受信したレスポンスのステータスコード、ヘッダー、本文が表示されます。
  • エラー: アクションが失敗した場合、エラーコードやメッセージが表示されます。

まずは「出力」タブを開き、ステータスコードを確認してください。2xx番台は成功、4xx番台はクライアントエラー、5xx番台はサーバーエラーを示します。例えば、400 Bad Requestが返ってきた場合はリクエストの形式に問題があります。403 Forbiddenなら認証情報が不足している可能性があります。

次にレスポンス本文を確認します。API側がエラーの詳細をJSON形式で返していることが多く、そこに原因が書かれている場合があります。例えば「Invalid API key」や「Missing required field」などが直接書かれていれば、修正すべき点が明確になります。

HTTPアクションが失敗する主な原因と実行履歴での確認ポイント

リクエストの設定ミス

最も多い原因は、フロー内で設定したHTTPリクエストのパラメーターが正しくないことです。実行履歴の「入力」タブで、実際に送信されたリクエスト内容を確認できます。以下の点をチェックしてください。

  • URL: スペルミスやパスが正しいか。特に動的な部分(式)がある場合、意図した値に展開されているか確認します。
  • メソッド: GET/POST/PUT/DELETEなどが正しいか。
  • ヘッダー: Content-TypeやAuthorizationなど、必須のヘッダーが含まれているか。
  • 本文: JSONの書式が正しいか(余分なカンマなど)。APIが期待するスキーマに合っているか。

認証の問題

HTTPアクションで外部APIを呼び出す場合、認証が必要なことがほとんどです。実行履歴の出力で401 Unauthorizedや403 Forbiddenが返ってきたら、認証情報が無効または期限切れの可能性があります。フロー内で使用している接続(コネクション)の認証情報を再入力するか、APIキーが有効か確認してください。

タイムアウト

応答が遅いAPIに対しては、Power Automateのデフォルトタイムアウト(2分)を超えるとエラーになります。実行履歴には「GatewayTimeout」や「504」などのステータスコードが表示されます。この場合、API側のパフォーマンス改善を依頼するか、フロー側でタイムアウトを長く設定する(設定項目があります)ことを検討します。

ネットワークやプロキシの問題

会社のネットワーク環境によっては、特定のURLへのアクセスが制限されている場合があります。実行履歴で「InternalServerError」や「ConnectionError」などが表示されたら、管理者に確認し、プロキシ設定やファイアウォールの例外を依頼する必要があります。

状況別比較表:ステータスコードから原因を特定する

ステータスコード 意味 主な原因 実行履歴で確認すべき項目
200 OK 成功 レスポンス本文が想定どおりか確認
400 Bad Request リクエストの構文エラー URLパラメーターやJSONボディの誤り 入力タブのURLとBody
401 Unauthorized 認証が必要 APIキーやトークンの欠落・無効 入力タブのHeaders(Authorization)
403 Forbidden アクセス権限がない 認証情報は正しいが権限不足 API側のエラーメッセージ、アカウント権限
404 Not Found リソースが見つからない URLのパスが間違っている 入力タブのURL
500 Internal Server Error サーバー内部エラー API側の問題、またはリクエスト内容が原因でサーバーが処理不能 レスポンス本文のエラー詳細
504 Gateway Timeout サーバーが応答しない APIの応答が遅い、ネットワーク遅延 アクションの設定(タイムアウト)

実行履歴から原因を読み解く具体的な手順

以下の手順で問題を切り分けてください。一度にすべてを確認するのではなく、順を追って進めることが重要です。

  1. 失敗したフローの実行履歴を開く: Power Automateポータルから該当フローの「実行履歴」を選択し、失敗した実行をクリックします。
  2. HTTPアクションを選択する: アクションの一覧からHTTPアクションを見つけ、クリックして詳細を表示します。
  3. 出力タブでステータスコードを確認する: ステータスコードが何番台かを確認し、上記の表に照らし合わせます。
  4. 出力の本文を確認する: APIから返ってきたメッセージを読み、エラーの内容を特定します。JSON形式の場合は、キーと値を確認します。
  5. 入力タブでリクエスト内容を確認する: 実際に送信されたURLやヘッダー、ボディが想定どおりかチェックします。動的な値は展開後の文字列を確認します。
  6. 必要に応じてフローを編集し再実行する: 問題箇所を修正したら、フローを保存し、手動で再実行して動作を確認します。同じエラーが続く場合は別の原因を疑います。

よくある失敗パターンとその対策

パターン1: 動的コンテンツが正しく展開されない

例えば、前のアクションから取得したIDをURLに埋め込む際、式の記述ミスでIDが空になることがあります。実行履歴の入力タブでURLを確認すると「https://api.example.com/items/」(IDが欠落)のように表示されます。対策として、式を再確認し、デフォルト値や条件を設定することを検討します。

パターン2: 認証情報の期限切れ

OAuth2.0を使用する場合、アクセストークンの有効期限が切れると401エラーになります。実行履歴でエラーコードが「ExpiredToken」などと表示されることがあります。この場合、フローで使用している接続を更新するか、自動更新の仕組みを実装する必要があります。

パターン3: API側のレート制限

短時間に多数のリクエストを送ると、API側で429 Too Many Requestsが返されることがあります。実行履歴の出力でステータスコード429とともにRetry-Afterヘッダーが含まれている場合があります。対策としては、フローに「再試行ポリシー」を設定するか、リクエスト間隔を調整するアクションを追加します。

管理者に確認すべき情報

会社のネットワークやセキュリティポリシーに関わる問題の場合、管理者に以下の情報を伝えるとスムーズです。

  • アクセス先のURLとポート: どの外部APIにアクセスしようとしているか。
  • 実行履歴のスクリーンショット: エラーメッセージやステータスコードが含まれる箇所。
  • 使用している認証方式: APIキー、OAuth、Basic認証など。
  • フローの簡単な説明: どのような処理をしようとしているか。

管理者はこれらの情報をもとに、ネットワークの制限解除やプロキシ設定の調整、認証情報の再発行などの対応ができます。

よくある質問(FAQ)

実行履歴に「HTTP要求がタイムアウトしました」と表示される

Power AutomateのHTTPアクションにはデフォルトで2分のタイムアウトがあります。APIの応答が遅い場合、アクションの設定で「タイムアウト」の値を変更できます。ただし、あまり長くするとフローの実行時間に影響するため、適切な値を設定してください。

401エラーと403エラーの違いは?

401は「認証が必要(未認証)」、403は「認証は成功したが権限がない」という違いです。401の場合は認証情報が欠落または無効、403の場合はアカウントにアクセス権限が付与されていない可能性が高いです。実行履歴のレスポンス本文に詳細が含まれていることが多いので確認します。

フローは成功しているのに、HTTPアクションの出力が想定と異なる

HTTPアクション自体は成功(ステータスコード2xx)でも、レスポンスデータが期待する形式でない場合があります。その場合は、APIの仕様書と照らし合わせて、フロー内の後続処理でデータを適切に解析できているか確認します。実行履歴の出力タブで実際のレスポンス本文を確認してください。

まとめ

Power AutomateのHTTPアクションが想定どおりに進まないときは、まず実行履歴の出力タブでステータスコードと本文を確認します。次に入力タブでリクエスト内容が正しいか検証することで、原因を特定できます。よくある失敗パターンとして、動的コンテンツの展開ミス、認証情報の期限切れ、APIのレート制限などがあります。これらのポイントを押さえておけば、問題解決がスムーズになるでしょう。管理者に相談する際は、実行履歴の情報を具体的に伝えることが重要です。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT