その他
    ホーム 技術発信 DoRuby BoxのAPIを使って見よう。(その1) ~概要とAPIのことについて
    BoxのAPIを使って見よう。(その1) ~概要とAPIのことについて
     

    BoxのAPIを使って見よう。(その1) ~概要とAPIのことについて

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

    Box API を使う上でのポイント4つ

    1. RESTful API
    2. JSON
    3. OAuth2.0
    4. Box Developer アカウント

    1.RESTful API とは

    ウェブシステムのHTTPでの呼び出しインターフェース
    GET、POST、PUT、DELETE等のHTTP標準のメソッドを使い、「何を」「どうする」というようにシンプルな表現されのが特徴です。

    a.URL

    https://api.box.com/2.0/files/123456789
      files の中の ID:123456789 のファイルを取得
    https://api.box.com/2.0/files/123456789/versions
      files の中の ID:123456789 のファイルのバージョンを取得

    b.HTTPメソッド(他にもありますが、今回は以下の4つ)

    GET
      リソースの獲得
    POST
      リソースの作成
    PUT
      リソースの更新(状態変更)
    DELETE
      リソースの削除

    c.curl(データを転送するライブラリ) を使った例

    $ curl -X GET https://api.box.com/2.0/files/123456789 
    

    curl については、こちら 見て下さい。

    2.JSON とは

    JSONとはJavaScript Object Notationの略で、XMLなどと同様のテキストベースのデータフォーマットです。
    {} (カッコ)で括られている文字で、整形すると下記のようになります。

      {
          "entries" : [
              {
                  "created_at": "2012-08-20T10:20:30-07:00",
                  "id": "672259576",
                  "modified_at": "2012-11-28T13:14:58-08:00",
                  "modified_by": {
                      "id": "183732129",
                      "login": "sean+apitest@box.com",
                      "name": "sean rose",
                      "type": "user"
                  },
                  "name": "Dragons.js",
                  "sha1": "359c6c1ed98081b9a69eb3513b9deced59c957f9",
                  "size": 92556,
                  "type": "file_version"
              }
          ],
          "total_count": 1
      }
    

    3.OAuth2.0 とは

    a.概要

    HTTP上で認可を行うためのプロトコル
    通常、ログインが必要なサービスを利用する際はログインID/パスワードの情報が必要になります。
    下図のようなサイトの場合、あまり問題にはなりませんが、

    enter image description here

    下図のようにウェブサーバ経由で、BOXへの操作を行う際、
    ウェブサーバにBOXのID/パスワードを格納してしまうのは、セキュアな状態とは言えません。
    それを解決するための仕組みとして使われるのが OAuth2.0 です。

    enter image description here

    b.一般的なフロー

    利用者によって、BOXのログイン認証を行い、そこで得られるアクセストークンを使用して、
    BOX のAPIを使って、各種操作を実行することで、ウェブサーバにID/パスワードを格納する必要がないのです。

    enter image description here

    4.Box Developer アカウント

    Boxの開発を行う上で、デベロッパーサイトよりアカウントを作成して、アプリケーションを作成するため初期設定を行いましょう。

    (1)Box Developers サイトより、アカウントを作成して下さい。

    enter image description here

    (2)マイアプリより、アプリの新規作成を選択

    enter image description here

    (3)アプリの種類を選択(ここでは、企業統合を選択しておきます)

    enter image description here

    (4)認証方法を選択(ここでは、標準OAuth2.0(ユーザー認証)を選択しておきます)

    enter image description here

    (5)アプリの名前をつけて、完了(あとで変更も可能です)

    enter image description here

    アクセストークン取得に必要な情報

    構成情報から、クライアントID、クライアント秘密コード、リダイレクトURLをコピーして下さい。

    enter image description here

    BOX API reference

    BOXでは、下図のようなリファレンスサイトが用意されています。

    enter image description here

    まとめ

    次回は、BOXのAPIを使って、実際に簡単な情報取得処理を作成していきます。

    記事を共有