シェルでRest APIを呼びたい案件。
curlの参考サイトは出てきたけど、-Hとか-Xが使えない?と思ってたらやっぱりそうらしく。

単純なGetならともかく、-H も -X も使えない仕様にしたの、なんでなん……? 

PowerShell でcurlを使いたい。JSONをエスケープせずに。 - Qiita

調べつつInvoke-RestMethodで実装した話。


GET

$url = 'http://hogehoge.com'
Invoke-RestMethod -Uri $url

ベーシック認証

$user 	  = "USER_ID"
$password = "abcdef"
$secpasswd = ConvertTo-SecureString $password -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($user, $secpasswd)

$url	  = 'http://hogehoge.com'

####実行
Invoke-RestMethod -Uri $url -Credential $cred

PATCH

$body = @{hoge="hogehoge";} ###PATCHしたい内容を指定の様式で
Invoke-RestMethod -Uri $url -Body $body -ContentType 'application/json' -method patch  ###json型であることを明示的に示す

順次追加する予定は…ある。。
APIはあってるのに403エラー多発で心が折れそう。。