皆さんは、Box APIを活用していますでしょうか。
Box APIを使うことで、Boxサイト上のデータの管理を効率的に行うことができます。
具体的な活用例と利点
1.ファイルの自動化管理
- Box APIを使用して、フォルダ内の全ファイルを自動でリストアップし、更新日時やファイルサイズなどの詳細情報を取得できます。
- 定期的なバックアップ作業をスケジュールし、重要なデータの保護を確実にします。
2.共有とアクセス権の管理
- 共有リンクの一括管理が可能となり、不要なリンクを迅速に削除してセキュリティを強化できます。
- ユーザーごとのアクセス権限をAPIで管理し、機密情報への不正アクセスを防止します。
前回、Javaを使ったBoxAPIの使い方をご紹介しました。
第2弾である本記事では、C#の次世代.NET SDKの使い方をご紹介します。
目次
・Boxアプリ作成
・実行環境の構築
・OAuth 2.0認証のやり方
・BoxAPIの使用例
Boxアプリ作成
デモ用に、Boxアプリを作成します。今回はOAuth 2.0の認証方法を使ったやり方を説明します。
1.Boxへログインし、画面左側のメニュー一覧の「開発者コンソール」をクリックします。
2.Box開発者専用画面に遷移するため、画面右上の「Platformアプリの作成」をクリックします。
3.今回も前回同様「カスタムアプリ」を使用します。
4.アプリ名や目的等、必須項目を入力し、「次へ」をクリックします。今回は以下の設定で作成しました。
アプリ名:sciencepark_test2
説明(省略可):詳解BoxAPIを使うまで2(次世代.NET編)
目的:その他
目的を入力:demo
5.今回は、「ユーザー認証(OAuth 2.0)」を選択し、「アプリの作成」を行います。
6.アプリが作成できました。
7.OAuth2.0の認証に必要な情報はアプリの「構成」タブをクリックし、「OAuth 2.0資格情報」と「OAuth 2.0リダイレクトURI」をご確認ください。
実行環境の構築
本記事では以下の環境でBox SDKを使用してBoxAPIを実行します。
No. | 項目名 | バージョン | 備考 |
1 | Visual Studio | 2022 | 統合開発環境 |
2 | .NET | 8 | アプリケーション開発・実行環境 |
3 | Box.Sdk.Gen | 1.4.0 | 次世代.NET用BoxSDK |
1.Visual Studioを起動し、アプリケーションを作成します。今回はC#のWPFアプリケーションで、フレームワークは「.NET 8.0(長期的なサポート)」を選択します。
2.「プロジェクト」メニューの「NuGetパッケージの」管理を選択し、「Box.Sdk.Gen」をインストールしてください。
3.Boxのユーザー認証も行うため、「Microsoft.Web.WebView2」も合わせてインストールします。
OAuth 2.0認証のやり方
開発環境が整いましたので、実際のコーディングについて説明します。
1.まずは、BoxにログインするためのログインボタンをWPFの画面上に用意します。
2.続いて、ソリューションエクスプローラーから、新しいウィンドウを作成します。名前は「LoginWindow.xaml」とします。
3.LoginWindow.xamlに、WebView2を配置します。NavigationStartingにイベントを設定しておきます。
4.LoginWindow.xaml.csに、コンストラクタとNavigationStartingのイベントを実装します。
25行目のコンストラクタでは、遷移するBoxサイトのURLを受け取るauthorizeUrlとOAuth 2.0リダイレクトURIを受け取る引数を追加します。
28行目のところで、WebView2でBoxサイトのURLを表示するようにしています。
32行目からは、NavigationStartingのイベントとなります。
ここで、BoxサイトからOAuth 2.0リダイレクトURIに対して、承認コードが送られてきます。41行目ではコードを受け取ってアプリ内部で保持しています。
承認コードは、30秒後に有効期限が切れるので、ご注意ください。
5.Boxのログイン画面が準備出来たら、メイン画面から呼び出します。
30行目では、開発コンソールで作成したクライアントIDとクライアントシークレットが必要になりますので、そちらを入力してください。
31行目と32行目では、開発コンソールで設定したリダイレクトURIを入力してください。
33行目で、Boxのログイン画面を表示します。
成功すると、36~37行目でアクセストークンを取得し、Box APIを使用できるようになります。BoxClientのインスタンスを使って、Box APIを呼び出してみましょう。
6.実際にログインボタンを押した時の動作を見てみます。アクセスしたBoxユーザーのメールアドレスとパスワードを入力し、「承認」ボタンを押してください。
7.次に「Boxへのアクセスを許可」ボタンを選択します。これでBoxへのログインは完了となります。
※2段階認証を有効にしている場合、本画面の前に2段階認証で設定した認証を行う必要が有るのでご注意ください。
BoxAPIの使用例
準備が整ったのでBoxAPIを呼んでみましょう。
今回は、以下のAPIを使ってBoxアカウントにあるファイルを列挙してみます。
https://ja.developer.box.com/reference/get-folders-id-items
https://ja.developer.box.com/reference/get-files-id
実際に上記2つのAPIを使った関数を以下に書いてみます。
このように、指定したBoxフォルダ配下にあるファイルを全て列挙することが可能となります。
これでBox上にあるファイルの管理もしやすくなるのではないでしょうか。
Box API開発でお困りごとがあれば、是非弊社にご相談ください。