Aperçu
Le connecteur Google Workspace fournit la fonctionnalité permettant de récupérer les fichiers depuis Google Drive (anciennement G Suite) et de les enregistrer dans l’index Fess.
Cette fonctionnalité nécessite le plugin fess-ds-gsuite.
Services pris en charge
Google Drive (Mon Drive, Drive partagés)
Google Docs, Sheets, Slides, Forms, etc.
Prérequis
L’installation du plugin est requise
La création d’un projet Google Cloud Platform est nécessaire
La création d’un compte de service et l’obtention des identifiants sont nécessaires
La configuration de la délégation à l’échelle du domaine Google Workspace est nécessaire
Installation du plugin
Méthode 1 : Placement direct du fichier JAR
Méthode 2 : Installation depuis l’interface d’administration
Ouvrir « Système » -> « Plugins »
Télécharger le fichier JAR
Redémarrer Fess
Configuration
Configurez depuis l’interface d’administration via « Crawler » -> « Data Store » -> « Nouveau ».
Configuration de base
| Élément | Exemple |
|---|---|
| Nom | Company Google Drive |
| Nom du gestionnaire | GoogleDriveDataStore |
| Active | Oui |
Configuration des paramètres
Liste des paramètres
| Paramètre | Requis | Description |
|---|---|---|
private_key | Oui | Clé privée du compte de service (format PEM, sauts de ligne en \n) |
private_key_id | Oui | ID de la clé privée |
client_email | Oui | Adresse email du compte de service |
max_size | Non | Taille maximale des fichiers à indexer (en octets). Par défaut : 10000000 (environ 10 Mo) |
ignore_folder | Non | Ignorer les dossiers ou non. Par défaut : true |
ignore_error | Non | Continuer le traitement en cas d’erreur. Par défaut : true |
supported_mimetypes | Non | Types MIME à indexer (expression régulière, séparés par des virgules). Par défaut : .* (tous les types) |
include_pattern | Non | Expression régulière des URL à inclure dans l’indexation |
exclude_pattern | Non | Expression régulière des URL à exclure de l’indexation |
default_permissions | Non | Permissions par défaut (séparées par des virgules, ex : {role}drive-users) |
number_of_threads | Non | Nombre de threads de traitement parallèle. Par défaut : 1 |
query | Non | Chaîne de requête de recherche de l’API Google Drive |
corpora | Non | Corpus à rechercher. Par défaut : allDrives |
spaces | Non | Espaces à rechercher (paramètre spaces de l’API Google Drive, par ex. drive, appDataFolder). Par défaut : non défini (valeur par défaut de l’API). |
fields | Non | Champs de fichier à demander à l’API Google Drive. Par défaut : * (tous les champs). |
read_timeout | Non | Délai de lecture HTTP (en millisecondes). Par défaut : 20000 |
connect_timeout | Non | Délai de connexion HTTP (en millisecondes). Par défaut : 20000 |
refresh_token_interval | Non | Intervalle (en secondes) pour renouveler le jeton d’accès OAuth. Par défaut : 3540 (59 minutes). |
max_cached_content_size | Non | Taille maximale (en octets) du contenu conservé en mémoire ; un contenu plus volumineux est déchargé dans un fichier temporaire. Par défaut : 1048576 (1 Mo). |
proxy_host | Non | Nom d’hôte du serveur proxy |
proxy_port | Non | Numéro de port du serveur proxy |
Configuration du script
Champs disponibles
| Champ | Description |
|---|---|
file.name | Nom du fichier |
file.description | Description du fichier |
file.contents | Contenu textuel du fichier |
file.mimetype | Type MIME du fichier |
file.filetype | Type de fichier |
file.created_time | Date de création |
file.modified_time | Date de dernière modification |
file.web_view_link | Lien pour ouvrir dans le navigateur |
file.url | URL du fichier |
file.thumbnail_link | Lien vers la miniature (valide temporairement) |
file.size | Taille du fichier (octets) |
file.roles | Permissions d’accès |
Pour plus de détails, consultez Google Drive Files API.
Configuration Google Cloud Platform
1. Création du projet
Accédez à https://console.cloud.google.com/ :
Créez un nouveau projet
Entrez le nom du projet
Sélectionnez l’organisation et l’emplacement
2. Activation de l’API Google Drive
Dans « APIs et services » -> « Bibliothèque » :
Recherchez « Google Drive API »
Cliquez sur « Activer »
3. Création du compte de service
Dans « APIs et services » -> « Identifiants » :
Sélectionnez « Créer des identifiants » -> « Compte de service »
Entrez le nom du compte de service (ex: fess-crawler)
Cliquez sur « Créer et continuer »
Les rôles ne sont pas nécessaires (ignorez)
Cliquez sur « Terminer »
4. Création de la clé du compte de service
Pour le compte de service créé :
Cliquez sur le compte de service
Ouvrez l’onglet « Clés »
« Ajouter une clé » -> « Créer une nouvelle clé »
Sélectionnez le format JSON
Enregistrez le fichier JSON téléchargé
5. Activation de la délégation à l’échelle du domaine
Dans les paramètres du compte de service :
Cochez « Activer la délégation à l’échelle du domaine »
Cliquez sur « Enregistrer »
Copiez « l’ID client OAuth 2 »
6. Autorisation dans la console d’administration Google Workspace
Accédez à https://admin.google.com/ :
Ouvrez « Sécurité » -> « Accès et contrôle des données » -> « Contrôles d’API »
Sélectionnez « Délégation à l’échelle du domaine »
Cliquez sur « Ajouter nouveau »
Entrez l’ID client
Entrez les scopes OAuth :
Cliquez sur « Autoriser »
Configuration des identifiants
Obtention des informations depuis le fichier JSON
Fichier JSON téléchargé :
Configurez les informations suivantes dans les paramètres :
private_key_id->private_key_idprivate_key->private_key(conservez les sauts de ligne en\n)client_email->client_email
Format de la clé privée
private_key conserve les sauts de ligne en \n :
Exemples d’utilisation
Crawl de l’ensemble de Google Drive
Paramètres :
Script :
Crawl avec permissions
Paramètres :
Script :
Crawler uniquement certains types de fichiers
Google Docs uniquement :
Dépannage
Erreur d’authentification
Symptôme : 401 Unauthorized ou 403 Forbidden
Points à vérifier :
Vérifier si les identifiants du compte de service sont corrects :
Les sauts de ligne de
private_keysont-ils en\n?private_key_idest-il correct ?client_emailest-il correct ?
Vérifier si l’API Google Drive est activée
Vérifier si la délégation à l’échelle du domaine est configurée
Vérifier si l’autorisation a été accordée dans la console d’administration Google Workspace
Vérifier si le scope OAuth est correct (
https://www.googleapis.com/auth/drive)
Erreur de délégation à l’échelle du domaine
Symptôme : Not Authorized to access this resource/api
Solution :
Vérifier l’autorisation dans la console d’administration Google Workspace :
L’ID client est-il correctement enregistré ?
Le scope OAuth est-il correct ? (
https://www.googleapis.com/auth/drive)
Vérifier si la délégation à l’échelle du domaine est activée sur le compte de service
Impossible de récupérer les fichiers
Symptôme : Le crawl réussit mais 0 fichiers
Points à vérifier :
Vérifier si des fichiers existent dans Google Drive
Vérifier si le compte de service a les droits de lecture
Vérifier si la délégation à l’échelle du domaine est correctement configurée
Vérifier si le Drive de l’utilisateur cible est accessible
Erreur de quota API
Symptôme : 403 Rate Limit Exceeded ou 429 Too Many Requests
Solution :
Vérifier le quota dans Google Cloud Platform
Augmenter l’intervalle de crawl
Demander une augmentation de quota si nécessaire
Erreur de format de clé privée
Symptôme : Invalid private key format
Solution :
Vérifier si les sauts de ligne sont correctement en \n :
Crawl des Drive partagés
Note
Pour crawler les Drive partagés avec un compte de service, vous devez ajouter le compte de service comme membre du Drive partagé.
Ouvrez le Drive partagé dans Google Drive
Cliquez sur « Gérer les membres »
Ajoutez l’adresse email du compte de service
Définissez le niveau de permission sur « Lecteur »
Cas de nombreux fichiers
Symptôme : Le crawl prend du temps ou expire
Solution :
Diviser en plusieurs data stores
Répartir la charge avec les paramètres de planification
Ajuster l’intervalle de crawl
Crawler uniquement des dossiers spécifiques
Permissions et contrôle d’accès
Reflet des permissions de partage Google Drive
Reflet des paramètres de partage Google Drive dans les permissions Fess :
Paramètres :
Script :
file.roles contient les informations de partage Google Drive.
Informations de référence
Aperçu des connecteurs DataStore - Aperçu des connecteurs Data Store
Connecteur Microsoft 365 - Connecteur Microsoft 365
Connecteur Box - Connecteur Box
Crawl de magasin de données - Guide de configuration Data Store