Ce guide explique comment un administrateur Google Workspace peut utiliser la
search() méthode sur une
Space ressource de l'
API Google Chat avec des droits d'administrateur (useAdminAccess=true) 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 emplacements 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 privés ni les chats de groupe.
La
Spaceressource
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 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 emplacements 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 les espaces nommés de votre organisation de différentes manières :
- Auditer les espaces de l'organisation : à l'aide de la méthode
search(), vous pouvez récupérer la liste de tous les espaces d'une organisation, ainsi que des informations détaillées sur les paramètres et les métadonnées de chaque espace, telles que 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 : à l'aide de 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 qui répondent aux critères spécifiés dans laqueryet exporter les résultats dans un fichier CSV pour analyse. - Rechercher et contacter les gestionnaires d'espace : à l'aide de la
search()méthode, vous pouvez récupérer la liste de tous les espaces d'une organisation, puis utiliser lamembers.list()méthode pour récupérer la liste de tous les membres d'espace qui sont gestionnaires. - Rechercher les 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 gestionnaire.
Prérequis
Python
- Un compte Google Workspace Business ou Enterprise avec 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 avec un nom, une icône et une description pour votre application Chat.
- Installez la bibliothèque cliente de l'API Google 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 dans un fichier JSON nommé
credentials.jsondans votre répertoire local.
- Choisissez un champ d'application d'autorisation qui accepte l'authentification des utilisateurs.
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 d'autorisation qui accepte l'authentification des utilisateurs avec des droits d'administrateur.
- Définissez le champ
useAdminAccesssurtrue.
Cette section présente les exemples suivants d'appel de l'API Chat en tant qu'administrateur :
- Rechercher des espaces en appelant la méthode
search() - Rechercher et supprimer les espaces inactifs de votre
organisation en appelant la méthode
search()pour renvoyer une liste des 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
l'authentification des utilisateurs et
des droits d'administrateur,
vous devez spécifier les éléments suivants dans la requête :
- Spécifiez le
chat.admin.spacesou lechat.admin.spaces.readonlychamp d'application d'autorisation. - Spécifiez
useAdminAccess=true. - Spécifiez les paramètres
queryde recherche pour filtrer les résultats :customer = "customers/my_customer": obligatoire, et la seule valeur acceptée estcustomers/my_customerspaceType = "SPACE": obligatoire, et la seule valeur acceptée estSPACE- Vous pouvez également ajouter une ou plusieurs requêtes supplémentaires pour filtrer davantage votre recherche d'espace, par exemple 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 un exemple d'utilisation 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( 'credentials.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, compilez et exécutez l'exemple :
python3 search_spaces_for_hello_world.py
Rechercher et supprimer les 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 les 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 occuper un espace de stockage précieux et encombrer l'interface utilisateur. À l'aide de la méthode search(), les administrateurs peuvent rechercher les espaces qui n'ont pas été utilisés depuis une certaine date et heure, par exemple il y a deux mois. Une fois la liste des espaces énumérée, les administrateurs peuvent agir sur eux, par exemple en les mettant à jour ou en les supprimant.
Pour rechercher une liste d'espaces inactifs, puis les supprimer avec l'authentification des utilisateurs et des droits d'administrateur, transmettez les éléments suivants dans vos requêtes :
- Pour rechercher les espaces inactifs, spécifiez les éléments suivants :
- Spécifiez le
chat.admin.spacesou lechat.admin.spaces.readonlychamp d'application d'autorisation. - Appelez la méthode
search()sur la ressourceSpaces. - Définissez
INACTIVE_SPACE_DEADLINEsur 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
queryde recherche pour filtrer les résultats :customer = "customers/my_customer": obligatoire, et la seule valeur acceptée estcustomers/my_customerspaceType = "SPACE": obligatoire, et la seule valeur acceptée estSPACElastActiveTime: pour filtrer votre requête afin de ne renvoyer que les espaces inactifs, spécifiezlastActiveTime
- Spécifiez le
- Pour supprimer les espaces inactifs des résultats de recherche, spécifiez les éléments suivants :
- Spécifiez le champ d'application d'autorisation
chat.admin.delete. - Appelez la méthode
delete()sur la ressourceSpaces. - Spécifiez
useAdminAccess=true.
- Spécifiez le champ d'application d'autorisation
Le code suivant montre un exemple de recherche et de suppression d'espaces inactifs à l'aide des droits 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( 'credentials.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_DATEpar 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, compilez et exécutez l'exemple :
python3 find_and_delete_inactive_spaces.py
Articles associés
- Rechercher des espaces
- Supprimer des espaces
- Lister les membres d'un espace
- Gérer les espaces Chat en tant qu'administrateur Google Workspace
spaces.search()méthode