目次
この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
Box API を使う上でのポイント4つ
- RESTful API
- JSON
- OAuth2.0
- 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/パスワードの情報が必要になります。
下図のようなサイトの場合、あまり問題にはなりませんが、
下図のようにウェブサーバ経由で、BOXへの操作を行う際、
ウェブサーバにBOXのID/パスワードを格納してしまうのは、セキュアな状態とは言えません。
それを解決するための仕組みとして使われるのが OAuth2.0
です。
b.一般的なフロー
利用者によって、BOXのログイン認証を行い、そこで得られるアクセストークンを使用して、
BOX のAPIを使って、各種操作を実行することで、ウェブサーバにID/パスワードを格納する必要がないのです。
4.Box Developer アカウント
Boxの開発を行う上で、デベロッパーサイトよりアカウントを作成して、アプリケーションを作成するため初期設定を行いましょう。
(1)Box Developers サイトより、アカウントを作成して下さい。
(2)マイアプリより、アプリの新規作成を選択
(3)アプリの種類を選択(ここでは、企業統合を選択しておきます)
(4)認証方法を選択(ここでは、標準OAuth2.0(ユーザー認証)を選択しておきます)
(5)アプリの名前をつけて、完了(あとで変更も可能です)
アクセストークン取得に必要な情報
構成情報から、クライアントID、クライアント秘密コード、リダイレクトURLをコピーして下さい。
BOX API reference
BOXでは、下図のようなリファレンスサイトが用意されています。
まとめ
次回は、BOXのAPIを使って、実際に簡単な情報取得処理を作成していきます。