その他
    ホーム 技術発信 DoRuby cURL(カール)ではなく、httpie を使用しBOX APIの確認をしてみる。
    cURL(カール)ではなく、httpie を使用しBOX APIの確認をしてみる。
     

    cURL(カール)ではなく、httpie を使用しBOX APIの確認をしてみる。

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    はじめに

    box api referenceでは、cURL(カールと読む)でのリクエスト方法が記載されていますが、
    このcURLを使ったの確認の場合、JSONデータが整形されないため、使いにくい。
    その事から、別のコマンドラインHTTPクライアントのhttpieを使う事にしてみます。

    cURL と、httpie での比較

    BOX のフォルダ情報取得処理(Get Folder Info)で比較してみます。

    cURL の場合

     > curl https://api.box.com/2.0/folders/0 -H "Authorization: Bearer fAFzgyluzN5JUkjUFIF3jWjGQl48ucvx"
    
    curl の実行イメージ

    httpie の場合

     > http -v GET https://api.box.com/2.0/folders/0 "Authorization: Bearer fAFzgyluzN5JUkjUFIF3jWjGQl48ucvx"
    

    シンタックスハイライトも付いているので、見やすい!!

    httpie の実行イメージ

    httpie をインストールしてみる。

    会社からアテンドされているPCもwindow という事で、windows 環境にインストールしてみます。

    1.python ダウンロード

    httpieを使うには、python が必要です。

    こちらのサイトから、python をダウンロードして下さい。

    python のダウンロード画面

    2.python インストール

    インストール画面で、デフォルトのInstall Now を選択してもいいですが、
    Customize installation を選択し、インストールする場所を指定する事をオススメしています。
    この後説明する、環境設定のパスがOSのエディションなどにもよるが、ほとんどの場合はPATH環境変数の最大長は約2000文字以下に制限されているためです。

    インストール時の選択画面1
    インストール時の選択画面2

    3.環境変数(path)の設定

    Windows 10 で環境変数を設定するための流れは
    Windowsキー → 設定 → システム → バージョン情報 → システム情報 → システムの詳細設定

    仮に、python をインストールしたのが、c:\python の場合
    システム境変数 の Path に以下の2つを追加して下さい。

      c:\python
      c:\Python\Scripts
    
    システムプロパティ画面
    環境変数設定の画面

    4.python の確認

    コマンドプロンプト画面を表示し、python とだけ実行すると以下の様に表示されます。

    python のバージョン表示

    5.httpie をインストール

    インストールには、Python のパッケージ管理(pip)を使います。
    以下のコマンドを実行して下さい。

     > pip install --upgrade pip setuptools
    
     > pip install --upgrade httpie
    

    httpie の オプション紹介

    一番使いそうな出力オプションのみをご紹介。
    詳しくは、httpie使用方法を参照して下さい。

    1.出力オプション

    -h  応答ヘッダーのみが出力
    -b  レスポンスBodyのみが出力
    -v  HTTP交換全体(要求と応答)を出力
    -p  HTTP交換の一部を選択

     http -v https://api.box.com/2.0/folders/0
    

    1.1.HTTP交換のどの部分を出力するか指定

    H  要求Headers
    B  要求Body
    h  応答Headers
    b  応答Body

      http -p=hb https://api.box.com/2.0/folders/0
    

    まとめ

    BOXのAPIを簡単に確認出来るようになった気がします。