Box 側の準備手順
Box連携 for kintone
Box連携は、お客様の Box に作る連携用のアプリを通して Box に接続します。Box 側で行うのは、アプリの作成・Box 管理者による承認・転送先フォルダへの招待の 3 つです。このページの手順どおりに進めてください。
なぜ Box 側の準備が必要なのか
Google ドライブ版(ドライブ連携)と違い、Box連携では当社が共通の接続を用意しません。お客様ご自身の Box に「連携用のアプリ」を作り、Box 管理者に承認していただく形になります。連携用のアプリはサービスアカウントという、アプリ専用の Box ユーザーとして動きます。
触れるのは、招待されたフォルダだけ
サービスアカウントは、招待されていないフォルダを見ることができません。転送先のフォルダだけに招待することで、連携が届く範囲を最小にできます。
利用者は Box にログインしない
接続するのはアプリ管理者の 1 人分の設定だけです。レコードを操作する一般の利用者が、Box にログインする必要はありません。
当社のサーバーは経路に入らない
ファイルは利用者のブラウザから Box へ直接送られます。認可コードを受け取るための当社のページもありません。
用意するもの
- 会社の Box のご契約(Business 以上など、アプリを作って管理者が承認できる契約)、または Box 開発者アカウント。個人の無料アカウントでは使えません(左のメニューに「管理コンソール」が無いアカウントは対象外です)
- Box の開発者コンソールを使えるアカウント(アプリを作る担当者)。クライアントシークレットの表示に2 段階認証が必要なので、あらかじめ設定しておいてください
- Box 管理者(または共同管理者)の協力(アプリの承認に必要です。作る人が管理者を兼ねても構いません)
- kintone のドメイン(例:
https://サブドメイン.cybozu.com。セキュアアクセスをお使いなら.s.cybozu.comのものも) - 転送先にする Box のフォルダ(部署の共有フォルダなど)
- 控えた情報を保管する安全な場所(パスワード管理ツールなど。テキストファイルやメールには残さないでください)
- 費用は不要です。Box のご契約のほかに、このための追加料金はかかりません
作業は最初の 1 回だけです。
設定手順
Box にログインし、開発者コンソールを開きます。
https://app.box.com/developers/console - ホームの右上にある[新規アプリ +]を押し、「アプリの新規作成」を開く
- アプリ名を入れる(例:
kintone Box 連携) - アプリタイプで「サーバー」を選んで作成する
- 作成後の「構成」タブで、サーバー認証方法が「クライアント資格情報(推奨)」になっていることを確かめる(「JWT」ではありません)
「構成」タブで、次のとおり設定します。
| 項目 | 選ぶ値 |
|---|---|
| アプリアクセスレベル | 「アプリ + Enterpriseアクセス」 |
| アプリケーションスコープ | 「コンテンツ操作」を開き、「Boxに格納されているすべてのファイルとフォルダへの書き込み」にチェックを入れる(読み取りは自動でチェックされます)。管理操作・開発者操作は不要です |
| 追加の構成 | 「as-userヘッダー」「ユーザーアクセストークンを生成する」はオフのまま |
| CORSドメイン | 「許可する送信元」に、kintone のドメインを https://サブドメイン.cybozu.com の形で登録する(末尾に「/」を付けない)。セキュアアクセスをお使いなら https://サブドメイン.s.cybozu.com も登録する |
最後に[変更を保存]を押します。
次の 3 つを控えます。
| 控える値 | 見つける場所 |
|---|---|
| クライアントID | 「構成」タブの「アクセス」にある「クライアントID」 |
| クライアントシークレット | 同じ場所の[シークレットを取得]を押して表示します。押すと 2 段階認証の設定を求められます(SMS・認証アプリ・メール・セキュリティキーのいずれか)。「開発者トークン」は使いません |
| 企業ID(Enterprise ID) | 開発者コンソール右上のアカウントのメニュー、または管理コンソールのアカウント情報(Account & Billing)。数字だけの値です |
- クライアントシークレットは、プラグインの設定画面に一度入力すれば、以後は画面に表示されません。
- シークレットが漏れた疑いがあるときは、開発者コンソールで作り直し、プラグインにも入力し直してください。
アプリは、Box 管理者に承認されるまで使えません。
アプリを作った人が Box 管理者でもある場合
「構成」タブに表示される承認のボタンから、その場で承認できます。
アプリを作った人が Box 管理者ではない場合
- 作成者が、アプリの承認の依頼を Box 管理者へ送る(「承認」タブ、または「構成」タブの案内から)
- Box 管理者に届いたメールから承認する
Box 管理者が自分で承認する場合は、管理コンソールの「アプリ」→「プラットフォームアプリマネージャー」→「サーバー認証アプリ」で[アプリを追加]を押し、手順 3 で控えたクライアントIDを入力して承認します。
kintone のアプリ設定 → プラグイン →「Box連携 for kintone」の歯車 →「① 接続」を開きます。
- クライアントID・クライアントシークレット・企業IDを入力する(企業IDは数字のみ)
- [接続テストして保存]を押す
- 「🟢 接続済:(サービスアカウントのメールアドレス)」に変われば完了
表示されたサービスアカウントのメールアドレス(AutomationUser_…@boxdevedition.com の形)を控えます。次の手順で使います。
- Box の画面で、転送先にするフォルダを開く
- フォルダの[共有]→[ユーザーを招待]を開く
- 手順 5 で控えたサービスアカウントのメールアドレスを入力し、「編集者として招待」を選んで招待する
- 共有リンクはオフのままにしておく
- サービスアカウントは、招待されていないフォルダを見ることができません。プラグインの設定画面でフォルダが一覧に出ないときは、この招待を確認してください。
- 招待するのは、転送に必要な最小のフォルダだけにしてください。招待したフォルダの中身は、プラグインから読み書きできます。
- フォルダを開いたときの URL の末尾の数字(
/folder/123456789の123456789)がフォルダIDです。プラグインの設定画面でフォルダを URL・ID で指定するときに使えます。
あとは「② 転送ルール」で、対象の添付ファイルフィールド・保存先フォルダ・リンクの返却先を選び、「④ 動作確認」で接続テストを行って、保存してアプリを更新すれば、通常どおり使えます。使い方は製品ページをご覧ください。
つまずきやすいところ
| 症状 | 原因と対処 |
|---|---|
| 「Box 管理者によるアプリの承認がまだです」と出る | Box 管理者がアプリを承認したか確認してください。アプリの設定(スコープ・アクセスレベル)を変えたあとは再承認が必要です(手順 4) |
| 「クライアントID・シークレット・企業IDの組み合わせが正しくない」と出る | 3 つの値が同じアプリ・同じ企業のものか確認してください。シークレットを作り直した場合は、プラグインにも入力し直してください(手順 3) |
| 接続テストで通信エラーになる/「CORS Domains に、この kintone のドメインが登録されていません」と出る | Box のアプリの CORS ドメインに、kintone のドメインを https:// から登録したか確認してください。末尾に「/」を付けないでください(手順 2) |
| フォルダが一覧に出ない/「見つかりません」と出る | サービスアカウントを、そのフォルダに「編集者」として招待したか確認してください(手順 6) |
| 「保存先フォルダへの書き込み権限がありません」と出る | サービスアカウントの権限が「編集者」になっているか確認してください(手順 6) |
| 「Box の容量が不足しています」「Box の契約で送れるファイルの大きさを超えています」と出る | Box の空き容量と、ご契約ごとの 1 ファイルの上限を確認してください |
| シークレットを表示しようとすると 2 段階認証を求められる | Box の仕様です。2 段階認証を設定してから、あらためて[シークレットを取得]を押してください |
よくある質問
個人の無料の Box アカウントで使えますか?
費用はかかりますか?
サービスアカウントとは何ですか?
転送先のフォルダを増やしたいときは?
複数のアプリで使う場合、連携用のアプリも複数必要ですか?
Box 側の設定を代行してもらえますか?
Box連携 for kintone
添付ファイルを Box へ転送し、kintone にはリンクだけを残すプラグインです。無料プランでも転送ルール1本・手動モードで利用でき、自動転送や一覧からの一括転送はプレミアム年間サポーターで使えます。
製品ページを見る →