「駑馬十駕」を信念に IT系情報を中心に調べた事をコツコツ綴っています。

PowerShellはWindows環境での自動化に非常に強力ですが、近年では外部システムと連携するために REST API を呼び出すケースが増えています。
本記事では、PowerShellでREST APIを扱う基本から、GET / POST の使い分け、ヘッダー指定、JSON処理までを 丁寧に・わかりやすく まとめました。


1. REST APIをPowerShellから呼び出す方法

PowerShellでAPIを叩く場合、最もよく使われるコマンドは次の2つです。

  • Invoke-RestMethod(API向け・JSONを自動で扱える)

  • Invoke-WebRequest(より低レベル。HTMLのスクレイピングなどにも強い)

REST APIの呼び出しには基本的に Invoke-RestMethod が適しています。


2. Invoke-RestMethod と Invoke-WebRequest の違い

項目Invoke-RestMethodInvoke-WebRequest
主用途REST APIWebページの取得
返り値JSON → 自動でPowerShellオブジェクトへ変換HTML文字列・ヘッダー情報
扱いやすさ
実務での利用率高い中程度

APIからJSONを受け取る場合は、特別な理由がない限り Invoke-RestMethod を選ぶとよいです。


3. GETリクエストの基本(サンプルコード)

APIから情報を取得したい場合は、まず GET を利用します。

■ クエリパラメータを付与する

GETの場合、ボディは送信せず、必要な情報はURLに含めます。

PowerShell GETリクエストの技術図


4. POSTリクエストの基本(JSONボディ送信)

POSTでは、サーバへデータを送信します。

■ ContentType は”application/json” が基本

API側がJSON受け取り前提の場合、ほぼ必須になります。

PowerShell POSTリクエストの流れ図


5. JSONデータの送受信

PowerShellは JSON の扱いが非常に簡単です。

JSON → オブジェクト(受信)

Invoke-RestMethod は自動で変換します。


オブジェクト → JSON(送信)

POSTやPUTの時は以下が必須です。


大きいJSONの場合は「深さ」を増やすオプションも利用します。



6. 認証が必要なAPIの呼び出し

多くのAPIは認証が必要です。

■ Bearer Token(OAuth2系)

最もよく使われるタイプです。

■ Basic 認証(ID/パスワード方式)


7. 実務でよくあるトラブルと対処例

■ 1. SSLエラーになる

社内プロキシ・証明書検証が原因。

(※一時的な回避策なので注意が必要です)


■ 2. 400 / 401 / 403 エラー

  • トークン期限切れ

  • Header不足

  • ContentType違い

などが原因のことが多いです。


■ 3. JSONの階層が深くて変換できない

ConvertTo-Json -Depth 20 を付ける


■ 4. Proxy環境で動かない

Invoke-RestMethod にプロキシを明示できます。


8. まとめ

PowerShellはREST APIと非常に相性が良く、
Invoke-RestMethod を中心に活用することで、外部システムとのデータ連携や業務自動化をスムーズに実現できます。


▼本記事のポイント

  • API呼び出しには Invoke-RestMethod が最適

  • GET はURLにパラメータ、POST はJSONボディ

  • ConvertTo-Json でJSON生成

  • 認証(Bearer Token / Basic)もPowerShellで簡単

  • 実務でよくあるエラーも把握しておくと安心

Ads by Google