Ce guide explique comment un administrateur Google Workspace peut utiliser la méthode search()
sur une ressource Space
de l'API Google Chat pour gérer les espaces nommés dans son organisation et effectuer des tâches administratives.
En tant qu'administrateur Google Workspace, vous ne pouvez utiliser l'API Chat que pour gérer les espaces nommés, qui sont définis comme un SpaceType
de SPACE
. Les espaces nommés sont des espaces persistants où les utilisateurs peuvent envoyer des messages, partager des fichiers et collaborer. Vous ne pouvez pas utiliser l'API Chat pour gérer les messages directs ni les chats de groupe.
La ressource Space
représente un emplacement où les utilisateurs et les applications Chat peuvent envoyer des messages, partager des fichiers et collaborer. Il existe plusieurs types d'espaces:
- Les messages privés (MP) sont des conversations entre deux utilisateurs ou entre un utilisateur et une application Chat.
- Les chats de groupe sont des conversations entre trois utilisateurs ou plus et des applications Chat.
- Les espaces nommés sont des espaces persistants où les utilisateurs peuvent envoyer des messages, partager des fichiers et collaborer.
En tant qu'administrateur Google Workspace, vous pouvez utiliser l'API Chat pour rechercher et gérer des espaces nommés dans votre organisation de la manière suivante:
- Effectuez un audit des espaces de votre organisation. À l'aide de la méthode
search()
, vous pouvez récupérer la liste de tous les espaces d'une organisation, avec des informations détaillées sur les paramètres et les métadonnées de chaque espace, comme la date de création, la date de la dernière activité, le nombre de membres, l'état du paramètre d'historique et la possibilité d'inviter des personnes externes. - Rechercher et supprimer les espaces inactifs Avec la méthode
search()
, vous pouvez rechercher des espaces n'ayant pas été utilisés depuis une certaine date et heure, puis les supprimer. Pour en savoir plus et obtenir un exemple de code, consultez Rechercher et supprimer les espaces inactifs. - Exporter une liste d'espaces en fonction de critères de recherche À l'aide de la méthode
search()
, vous pouvez récupérer une liste d'espaces répondant aux critères spécifiés dansquery
et exporter les résultats dans un fichier CSV à des fins d'analyse. - Recherchez et contactez les gestionnaires d'espaces. À l'aide de la méthode
search()
, vous pouvez récupérer la liste de tous les espaces d'une organisation, puis utiliser la méthodemembers.list()
pour récupérer la liste de tous les membres de l'espace qui sont des administrateurs. - Rechercher des espaces sans gestionnaire désigné À l'aide de la méthode
search()
, vous pouvez récupérer la liste de tous les espaces d'une organisation, puis utiliser la méthodemembers.list()
pour récupérer la liste des espaces qui n'ont pas de gestionnaires.
Prérequis
Python
- Compte Google Workspace Business ou Enterprise ayant accès à Google Chat.
- Configurez votre environnement :
- Créez un projet Google Cloud.
- Configurez l'écran de consentement OAuth.
- Activez et configurez l'API Google Chat en attribuant un nom, une icône et une description à votre application Chat.
- Installez la bibliothèque cliente des API Google pour Python.
-
Créez des identifiants d'ID client OAuth pour une application de bureau. Pour exécuter l'exemple de ce guide, enregistrez les identifiants sous forme de fichier JSON nommé
client_secrets.json
dans votre répertoire local.
- Choisissez une portée d'autorisation compatible avec l'authentification des utilisateurs.
- Vous devez disposer des droits d'administrateur pour gérer les conversations Chat et Espaces dans votre organisation Google Workspace.
Appeler l'API Google Chat en tant qu'administrateur
Pour vous authentifier en tant qu'utilisateur disposant de droits d'administrateur, vous devez transmettre les éléments suivants dans votre requête:
- Spécifiez un champ d'application de l'autorisation compatible avec l'utilisation de l'authentification des utilisateurs avec des droits d'administrateur.
- Définissez le champ
useAdminAccess
surtrue
.
Cette section présente les exemples suivants d'appel de l'API Chat en tant qu'administrateur:
- Recherchez des espaces en appelant la méthode
search()
. - Recherchez et supprimez les espaces inactifs de votre organisation en appelant la méthode
search()
pour renvoyer une liste d'espaces inactifs, puis en appelant la méthodedelete()
pour les supprimer.
Rechercher des espaces dans votre organisation
Cet exemple explique comment les administrateurs Google Workspace peuvent utiliser la méthode search()
sur la ressource Space
de l'API Chat pour rechercher des espaces dans une organisation en fonction de critères spécifiés.
Pour appeler la méthode search()
avec une authentification utilisateur et des privilèges d'administrateur, vous devez spécifier les éléments suivants dans la requête:
- Spécifiez le champ d'application d'autorisation
chat.admin.spaces
ouchat.admin.spaces.readonly
. - Spécifiez
useAdminAccess=true
. - Spécifiez les paramètres de recherche
query
pour filtrer les résultats :customer = "customers/my_customer"
: obligatoire, la seule valeur acceptée estcustomers/my_customer
spaceType = "SPACE"
: obligatoire. La seule valeur acceptée estSPACE
.- Facultatif : une ou plusieurs requêtes supplémentaires pour affiner davantage votre recherche d'espaces, telles que des mots clés dans les noms à afficher (
displayName
), la date de création (createTime
) ou en fonction de l'activité de l'espace (lastActiveTime
).
Le code suivant montre comment utiliser des droits d'administrateur pour rechercher des espaces dont le nom à afficher contient "Hello" et "World", dans n'importe quelle combinaison:
Python
- Dans votre répertoire de travail, créez un fichier nommé
search_spaces_for_hello_world.py
. Incluez le code suivant dans
search_spaces_for_hello_world.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/chat.admin.spaces.readonly', ] def main(): # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES, ) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) spaces = [] page_token = '' # Search for all spaces. while True: result = ( chat.spaces() .search( useAdminAccess=True, query=( 'customer = "customers/my_customer"' 'AND spaceType = "SPACE"' 'AND displayName:"Hello World"' ) pageToken=page_token, ) .execute() ) if 'spaces' not in result: print('No spaces found named Hello World.') return spaces.extend(result['spaces']) if 'nextPageToken' in result: page_token = result['nextPageToken'] else: break print(str(len(spaces)) + ' spaces found:') # Prints the list of spaces. print(spaces)
Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 search_spaces_for_hello_world.py
Rechercher et supprimer des espaces inactifs
Cet exemple explique comment les administrateurs Google Workspace peuvent utiliser la méthode search()
sur la ressource Space
de l'API Chat pour rechercher des espaces inactifs, puis les supprimer à l'aide de la méthode delete()
avec le paramètre useAdminAccess
.
Les espaces Google Chat inactifs (ceux qui ne sont plus utilisés activement) peuvent prendre un espace de stockage précieux et encombrer l'interface utilisateur. À l'aide de la méthode search()
, les administrateurs peuvent rechercher des espaces qui n'ont pas été utilisés depuis une date et une heure spécifiées, par exemple il y a deux mois. Une fois la liste des espaces énumérée, les administrateurs peuvent effectuer des actions dessus, comme les mettre à jour ou les supprimer.
Pour rechercher une liste d'espaces inactifs, puis les supprimer avec une authentification utilisateur et des droits d'administrateur, transmettez les éléments suivants dans vos requêtes:
- Pour rechercher des espaces inactifs, spécifiez les éléments suivants :
- Spécifiez le champ d'application d'autorisation
chat.admin.spaces
ouchat.admin.spaces.readonly
. - Appelez la méthode
search()
sur la ressourceSpaces
. - Définissez
INACTIVE_SPACE_DEADLINE
sur la date et l'heure de la dernière activité qui détermine les espaces à renvoyer. - Spécifiez
useAdminAccess=true
. - Spécifiez les paramètres de recherche
query
pour filtrer les résultats :customer = "customers/my_customer"
: obligatoire, et la seule valeur acceptée estcustomers/my_customer
spaceType = "SPACE"
: obligatoire. La seule valeur acceptée estSPACE
.lastActiveTime
: pour filtrer votre requête afin de n'afficher que les espaces inactifs, spécifiezlastActiveTime
.
- Spécifiez le champ d'application d'autorisation
- Pour supprimer les espaces inactifs des résultats de recherche, spécifiez les éléments suivants :
- Spécifiez le champ d'application de l'autorisation
chat.admin.delete
. - Appelez la méthode
delete()
sur la ressourceSpaces
. - Spécifiez
useAdminAccess=true
.
- Spécifiez le champ d'application de l'autorisation
Le code suivant montre comment rechercher des espaces inactifs et les supprimer à l'aide d'autorisations d'administrateur:
Python
Dans votre répertoire de travail, créez un fichier nommé
find_and_delete_inactive_spaces.py
.Incluez le code suivant dans
find_and_delete_inactive_spaces.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/chat.admin.spaces.readonly', 'https://www.googleapis.com/auth/chat.admin.delete', ] # Any spaces that have not been active since this time will be deleted. INACTIVE_SPACE_DEADLINE = '"INACTIVE_DATE"' def main(): # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES, ) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) spaces = [] page_token = '' # Search for all inactive spaces. while True: result = ( chat.spaces() .search( useAdminAccess=True, query=( 'customer = "customers/my_customer" AND spaceType = "SPACE" AND' ' lastActiveTime < ' ) + INACTIVE_SPACE_DEADLINE, pageToken=page_token, ) .execute() ) if 'spaces' not in result: print('No inactive spaces found.') return spaces.extend(result['spaces']) if 'nextPageToken' in result: page_token = result['nextPageToken'] else: break print(str(len(spaces)) + ' inactive spaces found:') # Prints the list of inactive spaces. print(spaces) # Delete all inactive spaces. for space in spaces: ( chat.spaces() .delete( useAdminAccess=True, name=space['name'], ) .execute() ) print( 'Deleted space: ' + space['displayName'] + ', Resource Name: ' + space['name'] ) if __name__ == '__main__': main()
Dans le code, remplacez
INACTIVE_DATE
par une date et une heure au format AAAA-MM-JJTHH:MM:SS+HH:MM. Par exemple, "2024-06-01T00:00:00+00:00".Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 find_and_delete_inactive_spaces.py
Articles associés
- Supprimer les espaces
- Lister les membres d'un espace
- Gérer les espaces Chat en tant qu'administrateur Google Workspace
- Méthode
spaces.search()