API にアクセスするときHEADER多すぎ
URLとPOST/GETのデータ以外に指定する項目が多すぎて嫌になる。
curl "https://api.example.com/api/v4/settings" \ -H "X-Auth-Email: takuya@example.com" \ -H "X-Auth-Key: gfhfdertgfdsertgf" \ -H "X-Auth-SID: xxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json"
おおくが、HTTPに沿った認証してないない。認証API叩いて、セッションキーでCookie発行や、Digestで認証してくれたらいいのにな。。。
curlrc でヘッダを省略する
毎回指定しなきゃいけないヘッダは、省略する。
server.com.curlrc
header ="X-Auth-Email: takuya@example.com" \ header ="X-Auth-Key: gfhfdertgfdsertgf" \ header ="X-Auth-SID: xxxxxxxxxxxxxxxx" \ header ="Content-Type: application/json"
curlrc を指定してリクエストする。
curl -K server.com.curlrc "https://api.example.com/api/v4/settings"
かなりシンプルになる。
さらにaliasする
curlrc を指定してリクエストする。
alias curl.server.com='curl -K server.com.curlrc '
これで、大事なことに集中できる。
curl.server.com "https://api.example.com/api/v4/settings" curl.server.com "https://api.example.com/api/v4/update" -X PUT --data '{}'
余計なことを考えずにURIとPOSTデータだけに集中できる。
怠惰ですね。もう
API って使いにくいよね。
個人的には、APIが HTTPの jsonで返す意味があんまりないと思うんだけよね。、ぶっちゃけ、GETクエリで検索条件を絞り込めないほうが不便なんだよね。マルっと一括して取ってくるプログラムと、ちまちま実行するUNIXパイプ志向との発想の違いなんだろうけど。欲しいデータだけをGETクエリで指定しちゃうほうが楽だよね。
api もっとシンプルにしてくれたらいいのに、無駄な労力書けて複雑なAPI作って、使う方も複雑になって大変です。
参考資料
curl でよく使う設定をまとめる ~/.curlrc - それマグで!