こんばんは、ネットワークインフラ技術部のよつばです。
Web APIをコマンドから叩くときにcurlを使っています。先日Windows版で使ったら結構面倒でした。
それまでは主にMac OSで使っており、Web APIのリファレンスに載っているサンプルは、自身のアクセストークンに書き換えてそのまま動いていました。
そしてふとラボメンに伝えるときにそのままコピペで渡したのですが、先方では動かない、と。
要はMac OSのターミナルとWindowsのコマンドプロントの違いなのですが、以下のようになります。
- 文字列を囲む ‘ (シングルクォート)を” (ダブルクォート)に変える。この時内部に”があるなら、\ (円マーク、バックスラッシュ)でエスケープが必要。
- 改行は \を^ (ハット)に変えなければならない。
- リクエストのJSONは改行不可。
上記はMac OS、UNIX系OS→Windowsのケース。逆は2番を意識すれば良いことになります。
最後の3はかなり曲者で、JSONがとても読み辛くなる。改行の無いJSONなんて見れたものじゃない。
そんなわけで、Chrome拡張のWeb APIを投げるクライアントツールが便利です。
Restlet Client (Chrome拡張)
私はこれを使ってます。
とはいえ、スクリプト化して自動化する際は、Chrome拡張とも言ってられませんので、上のルールを抑えておくのも大事です。