Questa guida spiega come utilizzare il metodo list
nella risorsa membership
dell'API Google Chat per elencare gli utenti e l'app Chat in uno spazio come elenco impaginato e filtrabile di membri in uno spazio. Nella scheda degli abbonamenti con
autenticazione delle app
vengono elencati gli abbonamenti negli spazi a cui ha accesso l'app Chat, ma sono esclusi gli abbonamenti all'app Chat, inclusi i propri. Nell'elenco delle appartenenze con Autenticazione utente vengono elencate le iscrizioni negli spazi a cui ha accesso l'utente autenticato.
La risorsa Membership
indica se un utente umano o l'app Google Chat è stato invitato in uno spazio o è assente in 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 installarle o aggiornarle, 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 in cui l'API Google Chat è abilitata e configurata. Per i passaggi da seguire, consulta Creare un'app Google Chat.
Autorizzazione configurata per l'app Chat. Gli abbonamenti della scheda supportano entrambi i seguenti metodi di autenticazione:
- Autenticazione utente con l'ambito di autorizzazione
chat.memberships.readonly
ochat.memberships
. - Autenticazione app con l'ambito di autorizzazione
chat.bot
.
- Autenticazione utente con l'ambito di autorizzazione
Elenca utenti e app di Chat in uno spazio con autenticazione utente
Per elencare gli utenti e l'app di Chat in uno spazio a cui ha accesso l'utente autenticato, trasmetti quanto segue nella richiesta:
- Con l'autenticazione utente, specifica l'ambito di autorizzazione
chat.memberships.readonly
ochat.memberships
. - Chiama il metodo
list
nella risorsamembership
.
L'esempio seguente elenca i membri dello spazio umano (non i gestori dello spazio) visibili all'utente autenticato perché il criterio filter
è impostato su ROLE_Member
:
Python
- Nella directory di lavoro, crea un file denominato
chat_member_list_user.py
. 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 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 the list of memberships. print(result) if __name__ == '__main__': main()
Nel codice, sostituisci
SPACE
con il nome di uno spazio, che puoi ottenere dal metodospaces.list
nell'API Chat o dall'URL di uno spazio.Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_member_list_user.py
L'API Google Chat restituisce un elenco dei membri dello spazio umano (esclusi i gestori dello spazio) e dei membri dell'app dello spazio specificato.
Elenca utenti e app di Chat in uno spazio con autenticazione delle app
Per elencare gli utenti e l'app di Chat in uno spazio a cui ha accesso l'app autenticata, trasmetti quanto segue nella richiesta:
- Con l'autenticazione app, puoi specificare l'ambito di autorizzazione
chat.bot
. - Chiama il metodo
list
nella risorsamember
.
Nell'esempio seguente sono elencati i membri dello spazio umani (non i gestori dello spazio) visibili all'app Chat:
Python
- Nella directory di lavoro, crea un file denominato
chat_member_list_app.py
. 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)
Nel codice, sostituisci
SPACE
con il nome di uno spazio, che puoi ottenere dal metodospaces.list
nell'API Chat o dall'URL di uno spazio.Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_member_list_app.py
L'API Google Chat restituisce un elenco di membri dello spazio umano (esclusi i gestori dello spazio) dallo spazio specificato.
Personalizza l'impaginazione o filtra l'elenco
Per elencare le appartenenze, trasmetti i seguenti parametri di query per personalizzare l'impaginazione o filtrare le iscrizioni elencate:
pageSize
: il numero massimo di abbonamenti da restituire. Il servizio potrebbe restituire meno di questo valore. Se non specificati, vengono restituiti al massimo 100 spazi. Il valore massimo è 1000; i valori superiori a 1000 vengono automaticamente modificati in 1000.pageToken
: un token di pagina, ricevuto da una precedente chiamata a 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. La trasmissione di un valore diverso potrebbe portare a risultati imprevisti.filter
: un filtro di query. Richiede l'autenticazione degli utenti. Per i dettagli delle query supportate, consulta il metodospaces.members.list
.
Argomenti correlati
- Visualizzare i dettagli dell'abbonamento di un utente o dell'app di chat.
- Invitare o aggiungere un utente o un'app di chat a uno spazio.
- Aggiornare l'appartenenza di un utente a uno spazio di Google Chat.
- Rimuovere un utente o un'app di chat da uno spazio.