Lister les membres d'un espace

Ce guide explique comment utiliser la méthode list sur la ressource membership. de l'API Google Chat pour répertorier les membres d'un espace sous la forme d'une liste paginée et filtrable de membres dans un espace. Répertorier les abonnements avec authentification des applications liste les membres des espaces dans lesquels l'application Chat est installée mais exclut les abonnements à l'application Chat, y compris lui-même. Répertorier les abonnements avec Authentification des utilisateurs répertorie les adhésions aux espaces auxquels l'utilisateur authentifié a accès.

La Ressource Membership indique si un utilisateur humain ou une application Google Chat est invité, est inclus ou absent d'un espace.

Prérequis

Python

  • Python 3.6 ou version ultérieure
  • L'outil de gestion de packages pip
  • Les dernières bibliothèques clientes Google 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-oauthlib
    

Lister les membres d'un espace avec authentification des utilisateurs

Répertorier les utilisateurs, les groupes Google et l'application Chat d'un espace auquel l'utilisateur authentifié a accès, transmettez les éléments suivants dans votre requête:

L'exemple suivant liste les membres Google Groupes, humains et d'application visibles par l'utilisateur authentifié.

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_member_list_user.py.
  2. Ajoutez le code suivant dans chat_member_list_user.py:

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # 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 Google Group, human, and app members 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',
    
            # Set this parameter to list Google Groups.
            showGroups = 'true'
    
        ).execute()
    
        # Prints the list of memberships.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dans le code, remplacez SPACE par un nom d'espace, ce qui que vous pouvez obtenir Méthode spaces.list dans l'API Chat ou depuis l'URL d'un espace.

  4. 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 d'un groupe Google, d'humains et d'applications à partir du l'espace spécifié.

Lister les membres d'un espace avec authentification par application

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:

L'exemple suivant liste les membres d'un espace humain (et non les gestionnaires de l'espace) visibles par l'application Chat:

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_member_list_app.py.
  2. Ajoutez le code suivant dans chat_member_list_app.py:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # 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)
    
  3. Dans le code, remplacez SPACE par un nom d'espace, ce qui que vous pouvez obtenir Méthode spaces.list dans l'API Chat ou depuis l'URL d'un espace.

  4. 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 de membres de l'espace humain (à l'exception de l'espace) gestionnaires) de l'espace spécifié.

Personnaliser la pagination ou filtrer la liste

Pour répertorier les adhésions, transmettez les paramètres de requête suivants à personnaliser la pagination ou filtrer les adhésions à la liste:

  • pageSize: nombre maximal d'adhésions à renvoyer. Le service peut renvoyer un nombre inférieur à cette valeur. Si aucune valeur n'est spécifiée, 100 espaces au maximum sont renvoyé. La valeur maximale est 1 000. les valeurs supérieures à 1 000 sont automatiquement est passé à 1 000.
  • pageToken: jeton de page reçu d'un appel précédent d'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. Transmettre un valeur différente peut entraîner des résultats inattendus.
  • filter: filtre de requête. Nécessite authentification des utilisateurs. Pour en savoir plus sur les requêtes acceptées, consultez les Méthode spaces.members.list.