Box
業務アセットの作成
1. カスタムアプリを作成する(Boxでの作業)
- 開発者コンソール > マイPlatformアプリ > Platformアプリの作成
- アプリの種類は、カスタムアプリを選択する。
- 認証方法は、サーバー認証(クライアント資格情報許可)を選択する。
- 作成されたアプリを選択し、構成タブに遷移する。
- アプリアクセスレベルをアプリ + Enterpriseアクセスを選択する。
- アプリケーションスコープで以下の項目にチェックが入っていることを確認する。
- ユーザーを管理する
- グループを管理する
- Enterpriseのプロパティを管理する
- 高度な機能の以下の項目にチェックを入れる
- as-userヘッダーを使用してAPIコールを行う
- ユーザーアクセストークンを生成する
- 承認作業を行う。(管理者のメールアドレスに承認依頼のメールが送信されます。)
設定イメージ

2回目以降の設定変更する場合
Boxのカスタムアプリは変更のたびに管理者の承認が必要になります。
最初の承認の場合はメールが送信されますが、再承認の場合はメールが送信されません。そのため、2回目以降は管理コンソールに遷移して承認作業を行う必要があります。
1回目と2回目以降でフローが変わるのでご注意ください。
参考:
2. 業務アセットの作成(YESODでの作業)
- Boxの開発コンソールから「エンタープライズID」「クライアントID」「クライアントシークレット」に入力する
- 接続を選択して同期が完了したら成功
Boxでの取得場所
エンタープライズID

クライアントIDとクライアントシークレット

基本設定
- パスワードの作成は対応していません。
- 理由:BoxのAPIではユーザーはすべてInviteのみでパスワードを扱えないため
パスワードの設定イメージ
- 作成したユーザーのメールアドレスにログインのURLが送信される。

- パスワードの作成をしてログインができるようになる。

アカウント管理
アカウントの作成
Box上に同一のログイン(メールアドレス)のアカウントが存在するかどうかに応じて、以下のような挙動になります。
| 条件 | 挙動 |
|---|---|
| 同一のログインのアカウントがBoxに存在しない | アカウントを新規作成する |
| 同一のログインの有効なアカウントがBoxに存在する | そのアカウントの情報を更新する |
| 同一のログインの無効(非アクティブ)なアカウントがBoxに存在する | そのアカウントを有効にして、情報を更新する |
初期フォルダー(等。「同期する項目」参照)を設定している場合、上表のいずれの分岐でもアカウント作成タスクの実行のたびにフォルダーの作成・招待が試みられます。フォルダーやコラボレーション権限がすでに存在する場合は、重複して作成されることはありません。
アカウントの削除
Boxではアカウントの完全な削除には対応しておらず、アカウント削除タスクを実行すると、そのアカウントは「無効化(非アクティブ化)」されます。
無効化してもBox上のアカウント自体や、そのアカウントが所有しているファイル・フォルダー、グループへの所属は削除されません。ログインができなくなるだけです。アカウントやデータを完全に削除したい場合は、Box管理コンソールで別途手動の対応が必要です。
Box上ですでにアカウントが削除されている場合(コネクタの管理外で手動削除された場合など)、アカウント削除タスクは(削除対象が見つからないため)成功として扱われます。
無効化されたアカウントに対して、アカウント作成タスクが再度実行されると、そのアカウントは自動的に有効化され、属性マッピングの内容で情報が更新されます(上記「アカウントの作成」の3つ目の条件)。退職者の再入社などでアカウントを引き継ぐ場合にご利用いただけます。
割当種別
任意項目
| マッピング項目 | 入力形式 | 説明 | BOXキー名 |
|---|---|---|---|
| user.language | string | ユーザーの言語(ISO 639-1形式) | language |
| user.timezone | string | タイムゾーン | timezone |
| user.space_amount | integer | ストレージ使用量(バイト)。-1で無制限 | space_amount |
| user.job_title | string | 役職(最大100文字) | job_title |
| user.phone | string | 電話番号(最大100文字) | phone |
| user.address | string | 住所(最大255文字) | address |
| user.is_sync_enabled | boolean | Box Sync使用可否 | is_sync_enabled |
| user.is_external_collab_restricted | boolean | ユーザーが社外のユーザーとのコラボレーションを許可されているかどうか | is_external_collab_restricted |
| user.is_exempt_from_device_limits | boolean | 会社のデバイス制限からユーザーを除外するかどうか | is_exempt_from_device_limits |
| user.can_see_managed_users | boolean | ユーザーが自身の連絡先リストで会社の他のユーザーを参照できるかどうか | can_see_managed_users |
| user.is_exempt_from_login_verification | boolean | ユーザーが2要素認証を使用する必要があるかどうか | is_exempt_from_login_verification |
| user.email_aliases[0].email | Stringの配列 | メールエイリアス(企業の登録済みドメインのみ) ※ 洗い替えになっているため、指定していないメールエイリアスは削除されます。 ※ nullを指定した場合は、すべてのメールエイリアスが削除されます。 | email_aliases[] |
| user.initial_folder_enabled | boolean | 新規フォルダーを作成するかどうかのオプション(未設定の場合はfalse) | - |
| user.initial_folder_path | String | 親フォルダーのフルパス | - |
| user.initial_folder_name | String | 新規フォルダーの名称 | - |
検討の結果、対応外とした項目
| 項目 | 内容 |
|---|---|
| status | アカウント状態("active", "inactive", "cannot_delete_edit", "cannot_delete_edit_upload") * ユーザーの有効・無効をactive/inactiveで管理している。 * 同じ設定項目で、ユーザーの権限的な部分も設定できる。 |
| enterprise | nullにすると会社メンバーから外れ無料ユーザーになる。 |
| tracking_codes[] | トラッキングコード(管理コンソールで事前設定が必要) |
| is_password_reset_required | パスワードリセットを義務付けるか(false→trueのみ) |
| notification_email.email | 代替の通知用メールアドレス |
画面イメージ
アカウント作成直後は、通知メールが非活性でパスワードリセットに関する項目も存在しない。

パスワード設定後に通知メールとパスワードリセットについて入力可能になる。

ドキュメントに記載されているが、対応外とした項目
| マッピング項目 | 入力形式 | 説明 | BOXキー名 |
|---|---|---|---|
| user.notify | boolean | 会社メンバーでなくなった後もメール受信可能か | notify |
- notifyはAPIドキュメントに記載がありますが、以下の理由から対応外としています。
- Boxが提供しているSDKに項目がない。
- curlでAPIを直接実行しても値の変動がない。
- 管理画面に対応する項目がない。
グループプッシュ
このセクションでは、グループプッシュ機能を使ってYESODのグループをBoxに連携する際の仕様について説明します。グループプッシュの基本的な使い方は グループプッシュ(設定手順) を参照してください。
グループプッシュを使用すると、YESODに登録されているグループ(組織・会社・事業所・プロジェクト・動的グループ)をBoxの「グループ」として作成・更新・削除できます。
グループプッシュで作成・管理できるのはBoxの「グループ」のみです。「ロール」(管理コンソールのアクセス権)はグループプッシュの対象外です。
Boxのグループは階層構造を持ちません。そのため、YESOD上のグループの親子関係はBoxには反映されず、グループを移動(親子関係を変更)してもBox側で対応する操作は発生しません。
グループの削除
グループプッシュでのグループ削除は、Box上のグループを完全に削除します(アーカイブや無効化ではありません)。
削除は元に戻せません。グループ連携条件の変更によって意図せずグループが連携対象から外れると、Box上のグループそのものが削除されます。連携条件を変更する際は影響範囲にご注意ください。
グループを削除すると、そのグループに与えていたフォルダーのコラボレーション権限(下記「フォルダーオプション」を参照)も失われます。グループを再作成しても権限は自動的には復元されません(フォルダーオプションが有効な場合、次回の同期で招待がやり直されます)。なお、フォルダーオプションで作成したフォルダー自体は削除されません。
同期する項目(グループ属性)
| 必須 | 項目 | key | デフォルト値 | 型 | 説明 |
|---|---|---|---|---|---|
| ✅ | グループ名 | グループ名() | String | Box上のグループ名。エンタープライズ内で一意である必要があります(255文字以内)。 | |
| 説明 | - | String | グループの説明(255文字以内)。 | ||
| メンバー招待を許可する対象 | - | String | (管理者のみ)/(管理者とメンバー)/(すべての管理対象ユーザー)のいずれかを指定します。 | ||
| メンバー一覧を参照できる対象 | - | String | 指定できる値はと同じです。 |
は必須項目です。属性マッピングが未設定、または評価結果が空文字・空白のみ・nullの場合は、そのグループの処理が失敗します(グループ作成タスクの他のグループの処理は続行されます)。
・は指定できる値が決まっており、範囲外の値が評価された場合はBoxへ送信する前にエラーになります。
グループ名(255文字)・説明(255文字)の文字数上限はYESOD側では事前にチェックしていません。超過した場合はBox API側のエラーになります。
値がない場合の挙動
属性マッピングを評価した値が存在しない場合(キーを設定していない、または評価結果がnull)の扱いは、作成時と更新時で異なります。
| 値を指定している | 値がない(未設定・null) | |
|---|---|---|
| グループ作成時 | 指定された値を設定する | Boxへ送信せず、Box側のデフォルト値になる |
| グループ更新時 | 指定された値で更新する | Boxへ送信せず、Box上の既存値を保持する(変更なし) |
更新時、値がない項目は「変更なし」として扱われます。null値で既存の値を削除することはできません。値を空にしたい場合は、空文字を設定できる項目(のみ)に限り、属性式に空文字を評価させることで空にできます。そのため、後からマッピングを外した項目もBox上の値はそのまま残ります(デフォルト値には戻りません)。
のみ例外で、更新時も値がなければ処理が失敗します(上記「同期する項目」参照)。
フォルダーオプション
グループプッシュのオプション機能として、グループ専用のフォルダーを作成し、そのフォルダーにグループをコラボレーターとして招待できます。デフォルトは無効です。
キーの考え方はアカウント作成時の初期フォルダー()と同様で、画面の選択肢には表示されないため、以下のキーを「同期する項目」に直接入力して設定してください。ただし、グループ用のフォルダーは作成後も組織名称の変更などに追従してリネームされ続けるため、キー名には付きません。
| 必須 | 説明 | key | デフォルト値 | 値域 |
|---|---|---|---|---|
| フォルダーオプションの有効・無効 | 無効 | boolean(属性式の評価結果が文字列の場合、(大文字小文字問わず)のみ有効として扱います) | ||
| 有効時のみ必須 | フォルダーを配置する親パス | - | 先頭のは連続していても無視されます。末尾にを付けたり、値の途中に連続したを含めたりすると空の階層ができてしまい、設定不備として処理が失敗します。 | |
| 有効時のみ必須 | フォルダー名 | - | パス区切り文字()を含められません。 | |
| グループがフォルダーに対して持つアクセスレベル | / / / / / / |
フォルダーIDはYESOD側で保持していません。同期のたびにグループのコラボレーション一覧からフォルダーを探し直すため、以下の点にご注意ください。
- ・の評価結果はグループごとに一意になるよう設定してください。複数のグループで評価結果が同じになると、それらのグループが同じフォルダーに招待され、中身が共有されます。同じ理由で、グループを削除して同じ評価値のグループを作り直した場合も、残っている旧グループのフォルダーがそのまま使われます(フォルダーは削除されないため)。
- グループに紐づくフォルダー(YESODが作成したもの)が2件以上検出された場合、どのフォルダーに追従すればよいか判断できないため、そのグループの処理は失敗します。連携済みグループを手動で別のフォルダーへ招待すると、この状態になることがあります。
- フォルダーの移動先・リネーム先に同名のフォルダーがすでに存在する場合、自動的には解決されず処理が失敗します(グループ作成時の同名グループとは異なり、同名フォルダーをそのまま採用することはしません)。復旧するには、Box側で移動先・リネーム先の同名フォルダーを別の名前にするか移動したうえで、再度同期を実行してください。
- フォルダー自体の削除、およびフォルダー内のファイルや他のコラボレーションの管理は行いません。グループを削除してもフォルダーは残ります。
- フォルダー名に使えない文字( 。パス区切り文字のを除く)の除去・置換は行われません。属性式(など)で対応してください。
必要な権限
グループプッシュを利用するには、Boxのカスタムアプリのアプリケーションスコープで「グループを管理する」が有効になっている必要があります。グループの作成・更新・削除に加えて、フォルダーオプションのコラボレーション操作でもこのスコープを使います(フォルダーオプションのために追加で必要な権限はありません)。
「グループを管理する」は本ページの「1. カスタムアプリを作成する(Boxでの作業)」で案内している必須スコープですが、グループの割当を利用していない既存のお客様の環境では有効になっていない場合があります。Boxのカスタムアプリはスコープ変更のたびに管理者の承認が必要で、2回目以降は承認依頼メールが送信されないため(管理コンソールから承認する必要があります)、既存のお客様がグループプッシュを新たに使い始める際はご案内にご注意ください。