Ce guide explique comment utiliser la méthode list
sur la ressource membership
de l'API Google Chat pour répertorier les utilisateurs et l'application Chat d'un espace sous la forme d'une liste paginée et filtrable d'abonnements dans un espace. La liste des adhésions avec l'authentification de l'application répertorie les adhésions aux espaces auxquels l'application Chat a accès, mais exclut les adhésions à l'application Chat, y compris les siennes. L'option Authentification de l'utilisateur permet de lister les membres dans les espaces auxquels l'utilisateur authentifié a accès.
La ressource Membership
indique si un utilisateur humain ou une application Google Chat est invité à rejoindre un espace, ou s'il en est absent.
Conditions préalables
Python
- Python 3.6 ou version ultérieure
- L'outil de gestion de packages pip
Les dernières bibliothèques clientes Google pour Python. Pour les installer ou les mettre à jour, exécutez la commande suivante dans votre interface de ligne de commande:
pip3 install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib oauth2client
Une application Chat publiée. Pour créer et publier une application Chat, consultez la section Créer une application Google Chat.
Autorisation configurée pour l'application Chat. La liste des abonnements est compatible avec les deux méthodes d'authentification suivantes:
- Authentification de l'utilisateur avec le champ d'application d'autorisation
chat.memberships.readonly
ouchat.memberships
. - Authentification de l'application avec le champ d'application d'autorisation
chat.bot
.
- Authentification de l'utilisateur avec le champ d'application d'autorisation
Répertorier les utilisateurs et l'application Chat d'un espace avec authentification des utilisateurs
Pour répertorier les utilisateurs et l'application Chat d'un espace auquel l'utilisateur authentifié a accès, transmettez les éléments suivants dans votre requête:
- Avec l'authentification de l'utilisateur, spécifiez le champ d'application des autorisations
chat.memberships.readonly
ouchat.memberships
. - Appelez la méthode
list
sur la ressourcemembership
.
L'exemple suivant répertorie les membres d'un espace (et non les gestionnaires) visibles par l'utilisateur authentifié, car filter
est défini sur ROLE_Member
:
Python
- Dans votre répertoire de travail, créez un fichier nommé
chat_member_list_user.py
. Incluez le code suivant dans
chat_member_list_user.py
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.memberships.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists human space members (but not space managers) in a specified space. ''' # 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) # Use the service endpoint to call Chat API. result = chat.spaces().members().list( # The space for which to list memberships. parent = 'spaces/SPACE', # An optional filter that returns only human space members. filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"' ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
Dans le code, remplacez
SPACE
par un nom d'espace. Vous pouvez l'obtenir à partir de la méthodespaces.list
de l'API Chat ou de l'URL d'un espace.Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_member_list_user.py
L'API Google Chat renvoie une liste des membres de l'espace (à l'exclusion des gestionnaires de l'espace) et des membres de l'application de l'espace spécifié.
Répertorier les utilisateurs et l'application Chat d'un espace avec authentification de l'application
Pour répertorier les utilisateurs et l'application Chat d'un espace auquel l'application authentifiée a accès, transmettez les éléments suivants dans votre requête:
- Avec l'authentification de l'application, spécifiez le champ d'application des autorisations
chat.bot
. - Appelez la méthode
list
sur la ressourcemember
.
L'exemple suivant répertorie les membres de l'espace (et non les gestionnaires de l'espace) visibles par l'application Chat:
Python
- Dans votre répertoire de travail, créez un fichier nommé
chat_member_list_app.py
. Incluez le code suivant dans
chat_member_list_app.py
:from httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name( 'credentials.json', SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http())) # Use the service endpoint to call Chat API. result = chat.spaces().members().list( # The space for which to list memberships. parent = 'spaces/SPACE', # An optional filter that returns only human space members. filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"' ).execute() print(result)
Dans le code, remplacez
SPACE
par un nom d'espace. Vous pouvez l'obtenir à partir de la méthodespaces.list
de l'API Chat ou de l'URL d'un espace.Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_member_list_app.py
L'API Google Chat renvoie une liste des membres de l'espace spécifié (à l'exclusion des gestionnaires de l'espace).
Personnaliser la pagination ou filtrer la liste
Pour répertorier les adhésions, transmettez les paramètres de requête suivants afin de personnaliser la pagination des adhésions répertoriées ou de les filtrer:
pageSize
: nombre maximal de souscriptions à renvoyer. Le service peut renvoyer une valeur inférieure à cette valeur. Si aucune valeur n'est spécifiée, un maximum de 100 espaces sont renvoyés. La valeur maximale est 1 000. Les valeurs supérieures sont automatiquement remplacées par 1 000.pageToken
: jeton de page, reçu d'un appel précédent des espaces de liste. Fournissez ce jeton pour récupérer la page suivante. Lors de la pagination, la valeur du filtre doit correspondre à l'appel qui a fourni le jeton de page. La transmission d'une valeur différente peut entraîner des résultats inattendus.filter
: filtre de requête. Requiert une authentification de l'utilisateur. Pour en savoir plus sur les requêtes acceptées, consultez la méthodespaces.members.list
.
Articles associés
- Obtenez des informations sur l'adhésion d'un utilisateur ou d'une application Chat.
- Inviter ou ajouter un utilisateur ou une application Chat à un espace
- Exclure un utilisateur ou une application Chat d'un espace