ホーム DoRuby BoxのAPIを使って見よう。(その2)~実際にBoxへ認可要求・アクセストークンを取得しAPIで情報取得
BoxのAPIを使って見よう。(その2)~実際にBoxへ認可要求・アクセストークンを取得しAPIで情報取得
 

BoxのAPIを使って見よう。(その2)~実際にBoxへ認可要求・アクセストークンを取得しAPIで情報取得

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

今回は、前回(その1) で説明出来なかった部分の補足となっています。

1.認可コード要求・応答

1.1. 認可コード要求・応答

リファレンスサイト を参照して頂ければ解決しますが、ポイントになる部分のみを、抜き出して書いておきます。
前回(その1) で説明をした下図の遷移に関しての補足となります。

enter image description here

以下ののURLに対して、パラメタを設定して送信することで、認可コードを得る事ができます。
■URL
https://account.box.com/api/oauth2/authorize

■パラメタ
response_type
  「code」固定です。
client_id
  認証を要求するアプリケーションのクライアントID
redirect_uri
  認証が完了した場合に、ブラウザにリダイレクトされるURL
state
  認証が完了した場合のリダイレクトURLに同じ文字列が返ります。攻撃からの保護のため、リクエスト時にランダムなハッシュ値を格納し、応答時に、同じ値が返却されてくるかチェックに使用すると良いでしょう。

■リクエスト例

https://account.box.com/api/oauth2/authorize?response_type=code&client_id=<MY_CLIENT_ID>&redirect_uri=<MY_REDIRECT_URL>&state=<MY_SECURITY_TOKEN>

client_id と、redirect_uri は、下図の登録したアプリケーションの構成情報から取得します。

enter image description here

実行すると、下図のBoxの認証画面が表示され、ログインすることで登録したアプリケーションでBoxにアクセス許可を求めてきます。
Boxへのアクセスを許可」を選択することで、認証コードを得ることができます。

enter image description here

1.2.認可コード応答

認可コードは、以下のパラメタに格納されています。

code=<認可コード>

2.アクセストークン要求・応答

2.1.アクセストークン要求

enter image description here

以下ののURLに対して、パラメタを設定して送信することで、アクセストークンを得る事ができます。
■URL
https://api.box.com/oauth2/token

■パラメタ
grant_type
  「authorization_code」固定です。
code
  認可コード応答で取得した認可コード
client_id
  認証を要求するアプリケーションのクライアントID
client_secret
  認証を要求するアプリケーションのクライアント秘密コード

■リクエスト例

curl https://api.box.com/oauth2/token \
-d 'grant_type=authorization_code' \
-d 'code=<MY_AUTH_CODE>' \
-d 'client_id=<MY_CLIENT_ID>' \
-d 'client_secret=<MY_CLIENT_SECRET>' \
-X POST

client_id と、client_secret は、下図の登録したアプリケーションの構成情報から取得できます。

enter image description here

実行すると、アクセストークン を得ることができます。

2.2.アクセストークン応答

アクセストークンは、JSON型の応答 access_token に含まれています。

{
    "access_token": "T9cE5asGnuyYCCqIZFoWjFHvNbvVqHjl",
    "expires_in": 3600,
    "restricted_to": [],
    "token_type": "bearer",
    "refresh_token": "J7rxTiWOHMoSC1isKZKBZWizoRXjkQzig5C6jFgCVJ9bUnsUfGMinKBDLZWP9BgR"
}

3.Boxファイル情報取得(アクセス例)

以下のように、リクエストヘッダに Authorization: Bearer YOUR_ACCESS_TOKEN をセットして
送信することで、各種操作が可能となります。

curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
https://api.box.com/2.0/files/123456789

まとめ

次回は、BOXのAPIを使って、EXCEL(VBA)から呼び出して見たいと思います。

記事を共有

最近人気な記事