Questa guida spiega come utilizzare il
get()
metodo sulla risorsa SpaceEvent dell'API Google Chat per ottenere i dettagli di
un evento da uno spazio di Google Chat.
La risorsa
SpaceEvent rappresenta una modifica a uno spazio o alle relative risorse figlio, come messaggi,
reazioni e appartenenze. Per scoprire di più sui tipi di eventi supportati, consulta il
eventType campo della SpaceEvent risorsa
documentazione di riferimento.
Puoi richiedere eventi fino a 28 giorni prima dell'ora della richiesta. L'evento contiene la versione più recente della risorsa modificata. Ad esempio, se richiedi un evento relativo a un nuovo messaggio, ma il messaggio è stato aggiornato in un secondo momento, il server restituisce la risorsa Message aggiornata nel payload dell'evento.
Per chiamare questo metodo, devi utilizzare l'autenticazione utente. Per ottenere un evento, l'utente autenticato deve essere membro dello spazio in cui si è verificato l'evento.
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 Cloud di Node.js .
- 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 Cloud di Python.
- 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.
Visualizzare i dettagli di un evento dello spazio (autenticazione utente)
Per visualizzare i dettagli di un evento dello spazio in Google Chat, passa quanto segue nella richiesta:
- Specifica un ambito di autorizzazione che supporti il tipo di evento nella richiesta. Come best practice, scegli l'ambito più restrittivo che consenta comunque alla tua app di funzionare.
- Chiama il
GetSpaceEvent()metodo, passando ilnamedell'evento dello spazio da recuperare.
L'esempio seguente recupera un evento dello spazio:
Node.js
Questo esempio di codice Node.js utilizza l' API RPC di Chat.
Per eseguire questo esempio, sostituisci quanto segue:
SCOPE_NAME: un ambito di autorizzazione basato sul tipo di evento. Ad esempio, se stai recuperando un evento dello spazio relativo a una nuova appartenenza, utilizza l'ambitochat.memberships.readonly, formattato comehttps://www.googleapis.com/auth/chat.memberships.readonly. Puoi ottenere il tipo di evento dalListSpaceEvents()metodo. Per scoprire come utilizzare questo metodo, consulta Elencare gli eventi di uno spazio.SPACE_NAME: l'ID dello spazioname. Puoi ottenere l'ID chiamando ilListSpaces()metodo o dall'URL dello spazio.SPACE_EVENT_NAME: l'ID dell'evento dello spazioname. Puoi ottenere l'ID dalListSpaceEvents()metodo. Per scoprire come utilizzare questo metodo, consulta Elencare gli eventi di uno spazio.
L'API Chat restituisce un'istanza di
SpaceEvent
con i dettagli dell'evento.
Visualizzare i dettagli di un evento dello spazio (autenticazione dell'app di Chat)
L'autenticazione dell'app richiede l'approvazione una tantum dell'amministratore.
Per visualizzare i dettagli di un evento dello spazio da uno spazio con l'autenticazione dell'app utilizzando l'API REST di Chat, passa 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 Autenticazione e 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
getmetodo sullaspaceEventsrisorsa. - Passa il
namedello spazio da cui vuoi recuperare i dettagli dell'evento.
Scrivere uno script che chiama l'API Chat
Ecco come visualizzare i dettagli di un evento dello spazio con l'autenticazione dell'app e l' API REST di Chat:
Python
Questo esempio di codice Python utilizza l' API REST di Chat.
- Nella directory di lavoro, crea un file denominato
chat_spaceevents_get_app.py. Includi il seguente codice in
chat_spaceevents_get_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().get( # The space to get event details 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. name='spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME', ).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.SPACE_EVENT_NAME: l'ID dell'evento dello spazioname. Puoi ottenere l'ID dalListSpaceEvents()metodo. Per scoprire come utilizzare questo metodo, consulta Elencare gli eventi di uno spazio.
Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_spaceevents_get_app.py
L'API Chat restituisce un elenco di elenco paginato di eventi dello spazio relativi a nuove appartenenze e messaggi.