Boxはウェブ・モバイルアプリやBox Driveからファイルを保存・管理するだけのクラウドストレージではありません。API経由で業務アプリと連携したり、BoxウェブアプリでUI経由で行っているフォルダやユーザー管理等を自動化することができます。この記事では、Box APIを利用して機能拡張やシステム連携を始める開発者が最初に目を通すべきリソースを紹介します。
リソース
開発者向け情報ポータル
開発者コミュニティ
米国をはじめ世界各国の開発者が情報交換するコミュニティです。英語でのご質問・コメントをお願いします。
https://community.box.com/box-platform-5
Box APIに関する過去の日本語セミナー
さわってみよう!初めてのBox API
Box API初心者向けに、Box APIの概要から管理コンソールの設定方法などの基本的な内容を紹介しています。Boxの運用に活用できるAPIの紹介も。
Box APIを実践!使ってみたいけど、なにをすればいいの?
簡易的なWebアプリケーション作成のデモを通じてアプリケーション作成手順をご紹介しています。
「Box AI API」ってこんなことできちゃいます
Box API と Box AI API について基本から応用例をわかりやすくまとめています。 開発者コンソールや認証方式、実際のAPI実行例(cURL)から、Box AI を用いた業務改善のユースケースまでカバーしたセミナーです。
よくある質問とその回答
Box APIでしかできない操作はありますか?
例えばFolder LockはAPI以外では実行するとができません。これはユーザーの誤操作によるフォルダーの削除や移動等の誤操作を防ぐことができる機能です。Box APIでしか操作できないその他のコマンドについては、開発者サイトのAPIリファレンスをご参照ください。
Box CLIを使ってメタデータやタグ情報をCSVで取りだしたり、それを編集後に元のファイルに戻してメタデータを上書きすることはできますか?
可能です。CLIを実行する際に--csvというオプションをつけると、ターミナルに出力される表示がcsv形式になります。更にファイルに保存したい場合--save または --save-to-file-path をあわせて指定してください。
取り出したCSVを更新・整形して、例えばbox files:metadata:update ID のコマンドの--bulk-file-pathに入力すればメタデータの更新が可能です。メタデータ自体の概要はこちらを参照ください。作成までの方法と使い方(主に検索)が掲載されています。
カスタムアプリを作ってアプリケーションユーザー(AU)からユーザーにBoxを利用させた場合、アクティビティレポート上でAUでの操作は誰の操作したと表示されますか?
ユーザーアクティビティリポートにはAUのアカウントがそのまま表示されるため、AUを使った個人まで特定することはできません。別のシステムと結びつけて利用する場合は、別のシステム上のアカウントと、BoxのAUを突合して手動、もしくはスクリプトなどを作成して調べる必要があります。
Postmanとの認証もJWTで設定可能ですか?
はい、JWT認証でも設定可能です。
Box Platform API Documentation
ただ、PostmanはAPIを呼び出すだけですのでJWTも不可能ではないのですが、JWTアサーションという文字列を作成して送信することが大変です。もしJWTを利用したい場合は、PostmanではなくBox CLIを使う方が良いかと思います。
WebアプリからBoxへアップロード・ダウンロードを行う場合、認証方式はどれを使えばよいですか?
人が操作する場合はユーザー認証(OAuth2)、自動スクリプト等はサーバー認証(サービスアカウント/AU)を利用します。
誰がいつどのファイルをダウンロードしているかというのを全社員分、定期的に自動で取得したいのですが、APIではどのような手順ですか?
ファイルダウンロードを含め、Box上で行う操作一覧は「イベントストリーム」から取得できます。
ダウンロードイベントの場合は、誰・いつファイルがダウンロードされたか記載されます。
User EventおよびEnterprise Eventのリストを取得
ダウンロードのイベントはユーザーアクティビティレポートからも取得することができます。過去7年分のデータが蓄積されており、レポートは毎週・毎月など指定してのスケジューリングも可能です。
実行したAPIのコール数はどこで確認できますか?
管理コンソールから作成するPlatform Activityレポートから出力できます。
