開発環境はPleades Mars(4.5.1)を利用、Javaのバージョンは1.8.0_60。
BOXAPIのSDKは、11/1時点で最新の2.8.2を利用する。
必要最小限のライブラリをインポートするとこんな感じ。
とりあえずはこれで動くけども、もしかしたら他にも必要な物はあるかもしれない。
その他に必要なライブラリはSDKのダウンロード先に記載があるが、以下二点のみ注意が必要。
・Java Cryptography Extension は、Javaのバージョンに合わせた物を使用する。今回はJava1.8.0なので、SDKのダウンロード先のリンクではなく、こちら。
・slf4jを追加ライブラリが参照しているようなので、必要ならlog4jなどから取ってくる
必要ライブラリの用意が出来たら、サンプルコードが用意されているので、そちらを動かしてみる。
https://github.com/box/box-java-sdk/tree/master/src/example/java/com/box/sdk/example
幾つかのコードが存在するが、とりあえずは一番シンプルなMain.javaを動かしてみる。
動かす前に認証用のトークンが必要なので、BOXの開発者用ページから前回作成したアプリケーションを選択する。
アプリケーションの設定画面に移動したら、画面左のメニューからConfigurationを選択する。
画面中央の「Developerトークンを生成」ボタンを押下すると、Developerトークンが生成される。
今回は動作確認なので、お試しにこれを使って認証を行う。
生成に成功すると、こんな感じに表示が変わる。
この「qTEdNsjWfUJ2ycY7Q4kRxxDBIWOPn6fA」と表示されているのがDeveloperトークン。
COPYボタンを押すとクリップボードに保管されるので、このDeveloperトークンをサンプルコードの以下の行にコピーする。
これをビルドして実行すれば、ルートフォルダとそこから1階層したのフォルダに存在するファイルとフォルダのリストが表示される。
実際に実行してみると、こんな感じ。
とりあえずはこれでSDKから操作は出来るようになった。
今回は単純なリスト表示だけだか、もっといろいろなことをやりたい場合は、その他のサンプルコードやSDK付属のドキュメント、もしくはリファレンスを見ながらやれば、だいたいのことは出来るようにはなると思う。
それよりも、Developerトークンだと1時間しか有効期限が無いので、せっかく作ったアプリもしばらくすると認証エラーで使えなくなってしまう。
この場合でも再度Developerトークンを発行すれば再び使用できるようになるのだが、1時間おきに作業が必要になるのは現実的ではない。
なので、次回はJWT(JSON Web Token)を利用したOAuth2.0認証を実装するのに挑戦してみる。