概要
Google Workspaceコネクタは、Google Drive(旧G Suite)からファイルを取得して Fess のインデックスに登録する機能を提供します。
この機能には fess-ds-gsuite プラグインが必要です。
対応サービス
Google Drive(マイドライブ、共有ドライブ)
Googleドキュメント、スプレッドシート、スライド、フォームなど
前提条件
プラグインのインストールが必要です
Google Cloud Platformプロジェクトの作成が必要です
サービスアカウントの作成と認証情報の取得が必要です
Google Workspace Domain全体への委任設定が必要です
プラグインのインストール
方法1: JARファイルを直接配置
方法2: 管理画面からインストール
「システム」→「プラグイン」を開く
JARファイルをアップロード
Fess を再起動
設定方法
管理画面から「クローラー」→「データストア」→「新規作成」で設定します。
基本設定
| 項目 | 設定例 |
|---|---|
| 名前 | Company Google Drive |
| ハンドラ名 | GoogleDriveDataStore |
| 有効 | オン |
パラメーター設定
パラメーター一覧
スクリプト設定
利用可能なフィールド
| フィールド | 説明 |
|---|---|
file.name | ファイル名 |
file.description | ファイルの説明 |
file.contents | ファイルのテキストコンテンツ |
file.mimetype | ファイルのMIMEタイプ |
file.filetype | ファイルタイプ |
file.created_time | 作成日時 |
file.modified_time | 最終更新日時 |
file.web_view_link | ブラウザで開くリンク |
file.url | ファイルのURL |
file.thumbnail_link | サムネイルリンク(短期間有効) |
file.size | ファイルサイズ(バイト) |
file.roles | アクセス権限 |
file.web_content_link | ダウンロードリンク |
file.id | Google DriveファイルID |
file.file_extension | ファイル拡張子 |
file.original_filename | アップロード時のファイル名 |
file.md5_checksum | MD5チェックサム |
file.owners | ファイルのオーナー |
file.parents | 親フォルダID |
file.shared | 共有されているかどうか |
file.version | ファイルバージョン番号 |
file.icon_link | ファイルタイプアイコンURL |
file.kind | リソースの種類(drive#file) |
上記以外にも多数のフィールドが利用可能です。 詳細は Google Drive Files API を参照してください。
Google Cloud Platform設定
1. プロジェクトの作成
https://console.cloud.google.com/ にアクセス:
新しいプロジェクトを作成
プロジェクト名を入力
組織とロケーションを選択
2. Google Drive APIの有効化
「APIとサービス」→「ライブラリ」で:
「Google Drive API」を検索
「有効にする」をクリック
3. サービスアカウントの作成
「APIとサービス」→「認証情報」で:
「認証情報を作成」→「サービスアカウント」を選択
サービスアカウント名を入力(例: fess-crawler)
「作成して続行」をクリック
ロールは設定不要(スキップ)
「完了」をクリック
4. サービスアカウントキーの作成
作成したサービスアカウントで:
サービスアカウントをクリック
「キー」タブを開く
「鍵を追加」→「新しい鍵を作成」
JSON形式を選択
ダウンロードされたJSONファイルを保存
5. Domain全体への委任を有効化
サービスアカウントの設定で:
「Domain全体への委任を有効にする」にチェック
「保存」をクリック
「OAuth 2 クライアントID」をコピー
6. Google Workspace管理コンソールで承認
https://admin.google.com/ にアクセス:
「セキュリティ」→「アクセスとデータ管理」→「APIの制御」を開く
「Domain全体への委任」を選択
「新しく追加」をクリック
クライアントIDを入力
OAuth スコープを入力:
「承認」をクリック
認証情報の設定
JSONファイルから情報を取得
ダウンロードしたJSONファイル:
以下の情報をパラメーターに設定:
private_key_id→private_key_idprivate_key→private_key(改行はそのまま\n)client_email→client_email
秘密鍵の形式
private_key は改行を \n で保持します:
使用例
Google Drive全体のクロール
パラメーター:
スクリプト:
権限付きクロール
パラメーター:
スクリプト:
特定のファイルタイプのみクロール
Googleドキュメントのみをクロールする場合は、 supported_mimetypes パラメーターを使用します。
パラメーター:
スクリプト:
トラブルシューティング
認証エラー
症状: 401 Unauthorized または 403 Forbidden
確認事項:
サービスアカウントの認証情報が正しいか確認:
private_keyの改行が\nになっているかprivate_key_idが正しいかclient_emailが正しいか
Google Drive APIが有効になっているか確認
Domain全体への委任が設定されているか確認
Google Workspace管理コンソールで承認されているか確認
OAuth スコープが正しいか確認(
https://www.googleapis.com/auth/drive)
Domain全体への委任エラー
症状: Not Authorized to access this resource/api
解決方法:
Google Workspace管理コンソールで承認を確認:
クライアントIDが正しく登録されているか
OAuth スコープが正しいか(
https://www.googleapis.com/auth/drive)
サービスアカウントでDomain全体への委任が有効になっているか確認
ファイルが取得できない
症状: クロールは成功するがファイルが0件
確認事項:
Google Driveにファイルが存在するか確認
サービスアカウントに読み取り権限があるか確認
Domain全体への委任が正しく設定されているか確認
対象ユーザーのDriveにアクセス可能か確認
APIクォータエラー
症状: 403 Rate Limit Exceeded または 429 Too Many Requests
解決方法:
Google Cloud Platformでクォータを確認
クロール間隔を長くする
必要に応じてクォータの増加をリクエスト
秘密鍵のフォーマットエラー
症状: Invalid private key format
解決方法:
改行が正しく \n になっているか確認:
共有ドライブのクロール
注釈
サービスアカウントで共有ドライブをクロールする場合、 共有ドライブにサービスアカウントをメンバーとして追加する必要があります。
Google Driveで共有ドライブを開く
「メンバーを管理」をクリック
サービスアカウントのメールアドレスを追加
権限レベルを「閲覧者」に設定
大量のファイルがある場合
症状: クロールに時間がかかる、またはタイムアウトする
解決方法:
データストアを複数に分割
スケジュール設定で負荷を分散
クロール間隔を調整
特定のフォルダのみをクロール
権限とアクセス制御
Google Driveの共有権限を反映
Google Driveの共有設定をFessの権限に反映:
パラメーター:
スクリプト:
file.roles にGoogle Driveの共有情報が含まれます。
参考情報
データストアコネクタの概要 - データストアコネクタ概要
Microsoft 365コネクタ - Microsoft 365コネクタ
Boxコネクタ - Boxコネクタ
データストアクロール - データストア設定ガイド