概要
Boxコネクタは、Box.comのクラウドストレージからファイルを取得して Fess のインデックスに登録する機能を提供します。
この機能には fess-ds-box プラグインが必要です。
前提条件
プラグインのインストールが必要です
Box開発者アカウントとアプリケーションの作成が必要です
JWT(JSON Web Token)認証またはOAuth 2.0認証の設定が必要です
プラグインのインストール
方法1: JARファイルを直接配置
方法2: 管理画面からインストール
「システム」→「プラグイン」を開く
JARファイルをアップロード
Fess を再起動
設定方法
管理画面から「クローラー」→「データストア」→「新規作成」で設定します。
基本設定
| 項目 | 設定例 |
|---|---|
| 名前 | Company Box Storage |
| ハンドラ名 | BoxDataStore |
| 有効 | オン |
パラメーター設定
JWT認証の例(推奨):
パラメーター一覧
| パラメーター | 必須 | 説明 |
|---|---|---|
client_id | はい | BoxアプリのクライアントID |
client_secret | はい | Boxアプリのクライアントシークレット |
public_key_id | はい | 公開鍵のID |
private_key | はい | 秘密鍵(PEM形式、改行は \n で表現) |
passphrase | はい | 秘密鍵のパスフレーズ |
enterprise_id | はい | BoxエンタープライズID |
スクリプト設定
利用可能なフィールド
| フィールド | 説明 |
|---|---|
file.url | ブラウザでファイルを開くリンク |
file.contents | ファイルのテキストコンテンツ |
file.mimetype | ファイルのMIMEタイプ |
file.filetype | ファイルタイプ |
file.name | ファイル名 |
file.size | ファイルサイズ(バイト) |
file.created_at | 作成日時 |
file.modified_at | 最終更新日時 |
詳細は Box File Object を参照してください。
Box認証の設定
JWT認証の設定手順
1. Box Developer Consoleでアプリケーションを作成
https://app.box.com/developers/console にアクセス:
「Create New App」をクリック
「Custom App」を選択
認証方法で「Server Authentication (with JWT)」を選択
アプリ名を入力して作成
2. アプリケーションの設定
「Configuration」タブで設定:
Application Scopes:
「Read all files and folders stored in Box」にチェック
Advanced Features:
「Generate a Public/Private Keypair」をクリック
生成されたJSONファイルをダウンロード(重要!)
App Access Level:
「App + Enterprise Access」を選択
3. エンタープライズで承認
Box管理コンソールで:
「Apps」→「Custom Apps」を開く
作成したアプリを承認
4. 認証情報の取得
ダウンロードしたJSONファイルから以下の情報を取得:
秘密鍵の形式
private_key は改行を \n に置き換えて1行にします:
使用例
企業のBoxストレージ全体をクロール
パラメーター:
スクリプト:
特定のフォルダのみをクロール
スクリプトでフォルダパスによるフィルタリングも可能:
PDFファイルのみをクロール
スクリプトでMIMEタイプによるフィルタリング:
トラブルシューティング
認証エラー
症状: Authentication failed または Invalid grant
確認事項:
client_idとclient_secretが正しいか確認秘密鍵が正しくコピーされているか確認(改行が
\nになっているか)パスフレーズが正しいか確認
Box管理コンソールでアプリが承認されているか確認
enterprise_idが正しいか確認
秘密鍵のフォーマットエラー
症状: Invalid private key format
解決方法:
秘密鍵の改行が正しく \n に変換されているか確認:
ファイルが取得できない
症状: クロールは成功するがファイルが0件
確認事項:
Application Scopesで「Read all files and folders」が有効か確認
App Access Levelが「App + Enterprise Access」になっているか確認
Boxストレージに実際にファイルが存在するか確認
サービスアカウントに適切な権限があるか確認
大量のファイルがある場合
症状: クロールに時間がかかる、またはタイムアウトする
解決方法:
データストア設定で処理を分割:
クロール間隔を調整
複数のデータストアに分けて設定(フォルダ単位など)
スケジュール設定で負荷を分散
権限とアクセス制御
Boxのファイル権限を反映
注釈
現在の実装ではBoxの詳細な権限情報は取得されません。 必要に応じて role フィールドを使用してアクセス制御を設定できます。
デフォルト権限の設定:
スクリプトで権限を設定:
参考情報
データストアコネクタの概要 - データストアコネクタ概要
Dropboxコネクタ - Dropboxコネクタ
Google Workspaceコネクタ - Google Workspaceコネクタ
データストアクロール - データストア設定ガイド