Questa guida spiega come utilizzare il
list()
metodo sulla risorsa SpaceEvent dell'API Google Chat per elencare le modifiche alle
risorse in uno spazio.
La risorsa
SpaceEvent
rappresenta una modifica allo spazio di destinazione, incluse le risorse figlio dello spazio
come messaggi, reazioni e appartenenze. Per saperne di più sull'
elenco dei tipi di eventi e dei payload degli eventi supportati, consulta i campi
eventType
e
payload
della documentazione di riferimento della risorsa SpaceEvent.
Puoi elencare gli eventi fino a 28 giorni prima dell'ora della richiesta. Il server restituisce gli eventi che contengono la versione più recente della risorsa interessata.
Ad esempio, se elenchi gli eventi relativi ai nuovi membri dello spazio, il server restituisce le risorse Membership che contengono i dettagli di appartenenza più recenti. Se i nuovi membri sono stati rimossi durante il periodo richiesto, il payload dell'evento contiene una risorsa Membership vuota.
Per elencare gli eventi di uno spazio, l'utente autenticato o l'app di Chat deve essere membro dello spazio.
Prerequisiti
Node.js
- Un account Google Workspace Business o Enterprise con accesso a Google Chat.
- Configura l'ambiente:
- Crea un progetto Google Cloud.
- Configura la schermata per il consenso OAuth.
- Attiva e configura l'API Google Chat con un nome, un'icona e una descrizione per la tua app di Chat.
- Installa la libreria client di Node.js Cloud.
- Crea le credenziali di accesso in base alla modalità di autenticazione nella richiesta dell'API Google Chat:
- Per eseguire l'autenticazione come utente di Chat,
crea le credenziali dell'ID client OAuth e salvale come file JSON denominato
credentials.jsonnella directory locale. - Per eseguire l'autenticazione come app di Chat,
crea le credenziali dell'account di servizio e salvale come file JSON denominato
credentials.json.
- Per eseguire l'autenticazione come utente di Chat,
crea le credenziali dell'ID client OAuth e salvale come file JSON denominato
- Scegli un ambito di autorizzazione in base al fatto che tu voglia eseguire l'autenticazione come utente o come app di Chat.
Python
- Un account Google Workspace Business o Enterprise con accesso a Google Chat.
- Configura l'ambiente:
- Crea un progetto Google Cloud.
- Configura la schermata per il consenso OAuth.
- Attiva e configura l'API Google Chat con un nome, un'icona e una descrizione per la tua app di Chat.
- Installa la libreria client di Python Cloud.
- Crea le credenziali di accesso in base alla modalità di autenticazione nella richiesta dell'API Google Chat:
- Per eseguire l'autenticazione come utente di Chat,
crea le credenziali dell'ID client OAuth e salvale come file JSON denominato
credentials.jsonnella directory locale. - Per eseguire l'autenticazione come app di Chat,
crea le credenziali dell'account di servizio e salvale come file JSON denominato
credentials.json.
- Per eseguire l'autenticazione come utente di Chat,
crea le credenziali dell'ID client OAuth e salvale come file JSON denominato
- Scegli un ambito di autorizzazione in base al fatto che tu voglia eseguire l'autenticazione come utente o come app di Chat.
Elencare gli eventi dello spazio (autenticazione utente)
Per elencare gli eventi dello spazio da uno spazio di Chat, trasmetti quanto segue nella richiesta:
Specifica uno o più ambiti di autorizzazione per supportare ogni tipo di evento nella richiesta. Come best practice, scegli l'ambito più restrittivo che consenta comunque alla tua app di funzionare. Per scegliere un ambito, consulta la panoramica sull'autenticazione e l'autorizzazione.
Chiama il
ListSpaceEvents()metodo, passando ilfilterdei tipi di eventi da elencare. Devi specificare almeno un tipo di evento e puoi anche filtrare per data. Per un elenco dei tipi di eventi supportati, consulta ileventTypecampo dellaSpaceEventrisorsa documentazione di riferimento.
L'esempio seguente elenca gli eventi relativi a nuove appartenenze e messaggi in uno spazio:
Node.js
Per eseguire questo esempio, sostituisci SPACE_NAME con l'ID da
dello spazio
name.
Puoi ottenere l'ID chiamando il
ListSpaces()
metodo o dall'URL dello spazio.
L'API Chat restituisce un elenco di elenco paginato di eventi dello spazio relativi a nuove appartenenze e messaggi.
Elencare gli eventi dello spazio (autenticazione dell'app di Chat)
L'autenticazione dell'app richiede l'approvazione una tantum dell'amministratore.
Per elencare gli eventi dello spazio da uno spazio con l'autenticazione dell'app e l' API REST di Chat, trasmetti quanto segue nella richiesta:
- Specifica uno o più ambiti di autorizzazione per supportare ogni tipo di evento nella richiesta. Come best practice, scegli l'ambito più restrittivo che consenta comunque alla tua app di funzionare. Per saperne di più sulla scelta di un ambito, consulta la
panoramica sull'autenticazione e l'autorizzazione.
https://www.googleapis.com/auth/chat.app.membershipshttps://www.googleapis.com/auth/chat.app.memberships.readonlyhttps://www.googleapis.com/auth/chat.app.messages.readonlyhttps://www.googleapis.com/auth/chat.app.spaceshttps://www.googleapis.com/auth/chat.app.spaces.readonly
- Chiama il
listmetodo sullaspaceEventsrisorsa. - Trasmetti il
namedello spazio da cui elencare i messaggi. - Trasmetti un
filterper eseguire una query su tipi di eventi specifici.
Scrivere uno script che chiama l'API Chat
Ecco come elencare gli eventi dello spazio con l'autenticazione dell'app e l' API REST di Chat:
Python
- Nella directory di lavoro, crea un file denominato
chat_spaceevents_list_app.py. Includi il seguente codice in
chat_spaceevents_list_app.py:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # Set authorization scopes based on the # event type. For example, if you are getting a space event # about a new membership, use the `chat.app.memberships` scope. # # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships", "https://www.googleapis.com/auth/chat.app.memberships.readonly", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces", "https://www.googleapis.com/auth/chat.app.spaces.readonly"] def main(): ''' Authenticates with Chat API using app authentication, then lists space events from a specified space. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().spaceEvents().list( # The space to list events from. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE_NAME', # A required filter. Filters events by event type. # # Update this filter to match your requirements. filter='eventTypes:"google.workspace.chat.message.v1.created"' ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()Nel codice, sostituisci quanto segue:
SPACE_NAME: il nome di uno spazio, che puoi ottenere dal metodospaces.listnell'API Chat o dall'URL di uno spazio.
Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_spaceevents_list_app.py
L'API Chat restituisce un elenco di elenco paginato di eventi dello spazio relativi a nuove appartenenze e messaggi.