Elenca i membri in uno spazio

Questa guida spiega come utilizzare il metodo list nella risorsa membership dell'API Google Chat per elencare i membri in uno spazio come elenco impaginato e filtrabile di iscrizioni in uno spazio. L'elenco delle iscrizioni con autenticazione app elenca le iscrizioni negli spazi a cui l'app Chat ha accesso, ma esclude quelle all'app di Chat, inclusi la sua. L'elenco delle appartenenze con Autenticazione utente elenca le iscrizioni negli spazi a cui l'utente autenticato ha accesso.

La risorsa Membership indica se un utente umano o un'app Google Chat è invitato, fa parte o è assente da uno spazio.

Prerequisiti

Python

  • Python 3.6 o versioni successive
  • Lo strumento di gestione dei pacchetti pip
  • Le librerie client di Google più recenti per Python. Per installarli o aggiornarli, esegui questo comando nell'interfaccia a riga di comando:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
    
  • Un progetto Google Cloud con l'API Google Chat abilitata e configurata. Per i passaggi da seguire, vedi Creare un'app Google Chat.
  • Autorizzazione configurata per l'app Chat. Gli abbonamenti dell'elenco supportano entrambi i seguenti metodi di autenticazione:

Elenca i membri in uno spazio con autenticazione utente

Per elencare gli utenti, i gruppi Google e l'app di Chat in uno spazio a cui l'utente autenticato ha accesso, trasmetti quanto segue nella richiesta:

L'esempio seguente elenca i membri di gruppi Google, persone e app visibili all'utente autenticato.

Python

  1. Nella directory di lavoro, crea un file denominato chat_member_list_user.py.
  2. Includi il seguente codice in 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. Nel codice, sostituisci SPACE con il nome di uno spazio, che puoi ottenere dal metodo spaces.list nell'API Chat o dall'URL di uno spazio.

  4. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 chat_member_list_user.py
    

L'API Google Chat restituisce un elenco di membri di gruppi Google, persone e app dallo spazio specificato.

Elenca membri in uno spazio con autenticazione delle app

Per elencare gli utenti e l'app di Chat in uno spazio a cui l'app autenticata ha accesso, trasmetti quanto segue nella richiesta:

Nell'esempio seguente sono elencati i membri umani dello spazio (non i gestori dello spazio) visibili all'app Chat:

Python

  1. Nella directory di lavoro, crea un file denominato chat_member_list_app.py.
  2. Includi il seguente codice in 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. Nel codice, sostituisci SPACE con il nome di uno spazio, che puoi ottenere dal metodo spaces.list nell'API Chat o dall'URL di uno spazio.

  4. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 chat_member_list_app.py
    

L'API Google Chat restituisce un elenco dei membri umani dello spazio (esclusi i gestori dello spazio) dello spazio specificato.

Personalizzare l'impaginazione o filtrare l'elenco

Per elencare le appartenenze, passa i seguenti parametri di query per personalizzare l'impaginazione o filtrare le appartenenze elencate:

  • pageSize: il numero massimo di abbonamenti da restituire. Il servizio potrebbe restituire un valore inferiore a questo valore. Se non specificati, vengono restituiti al massimo 100 spazi. Il valore massimo è 1000; i valori superiori a 1000 vengono modificati automaticamente in 1000.
  • pageToken: un token di pagina, ricevuto da una precedente chiamata agli spazi elenco. Fornisci questo token per recuperare la pagina successiva. Durante l'impaginazione, il valore del filtro deve corrispondere alla chiamata che ha fornito il token della pagina. Il passaggio di un valore diverso potrebbe portare a risultati imprevisti.
  • filter: un filtro query. Richiede l'autenticazione dell'utente. Per i dettagli delle query supportate, consulta il metodo spaces.members.list.