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の応答が遅い、ネットワーク遅延 | アクションの設定(タイムアウト) |
実行履歴から原因を読み解く具体的な手順
以下の手順で問題を切り分けてください。一度にすべてを確認するのではなく、順を追って進めることが重要です。
- 失敗したフローの実行履歴を開く: Power Automateポータルから該当フローの「実行履歴」を選択し、失敗した実行をクリックします。
- HTTPアクションを選択する: アクションの一覧からHTTPアクションを見つけ、クリックして詳細を表示します。
- 出力タブでステータスコードを確認する: ステータスコードが何番台かを確認し、上記の表に照らし合わせます。
- 出力の本文を確認する: APIから返ってきたメッセージを読み、エラーの内容を特定します。JSON形式の場合は、キーと値を確認します。
- 入力タブでリクエスト内容を確認する: 実際に送信されたURLやヘッダー、ボディが想定どおりかチェックします。動的な値は展開後の文字列を確認します。
- 必要に応じてフローを編集し再実行する: 問題箇所を修正したら、フローを保存し、手動で再実行して動作を確認します。同じエラーが続く場合は別の原因を疑います。
よくある失敗パターンとその対策
パターン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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】画面共有時に「音声」も共有する方法!音が流れない時の設定手順
