Questa pagina descrive gli eventi di Google Chat a cui un'app Google Chat può iscriversi utilizzando l'API Google Workspace Events. Dopo aver deciso quali tipi di eventi ti servono, crea un abbonamento per iniziare a ricevere eventi da Google Chat.
Oltre ad iscriverti agli eventi, puoi anche eseguire query sugli eventi chiamando l'API Chat. La chiamata all'API Chat ti consente di recuperare gli eventi su base periodica o di recuperare gli eventi che potresti aver perso da un abbonamento a causa di un'interruzione del servizio. Per scoprire i modi in cui puoi ricevere e rispondere agli eventi di Chat, consulta Lavorare con gli eventi di Google Chat nella documentazione di Chat.
Eventi di Chat supportati
Gli abbonamenti a Google Workspace ti consentono di ricevere eventi relativi ai seguenti tipi di modifiche in Chat:
- Messaggi nuovi, aggiornati o eliminati nello spazio.
- Reazioni nuove o rimosse a un messaggio.
- Membri nuovi, aggiornati o rimossi nello spazio.
- Modifiche allo spazio a cui hai effettuato l'iscrizione, ad esempio un nome o una descrizione aggiornati.
Risorse che puoi monitorare per rilevare eventi
Per ricevere gli eventi, specifica una risorsa Chat da monitorare, chiamata risorsa di destinazione dell'abbonamento.
L'API Google Workspace Events supporta le seguenti risorse di destinazione per Chat:
Risorsa di destinazione | Formato | Limitazioni |
---|---|---|
Spazio |
dove SPACE è l'ID nel
nome della risorsa della risorsa |
L'utente di Chat che autorizza l'abbonamento deve essere un membro dello spazio tramite il proprio account Google Workspace o Google. |
Tutti gli spazi di un utente |
|
L'abbonamento riceve solo gli eventi per gli spazi di cui l'utente è membro tramite il proprio account Google Workspace o Google. |
Utente |
dove USER è l'ID nel
nome della risorsa della risorsa |
L'abbonamento riceve solo gli eventi relativi all'utente che lo ha autorizzato. Un utente non può autorizzare un abbonamento per conto di altri utenti. |
Tipi di eventi per la creazione di iscrizioni
Quando crei una sottoscrizione, utilizza il campo
eventTypes[]
per specificare i tipi di eventi che vuoi ricevere. I tipi di evento sono formattati in base alla specifica CloudEvents, ad esempiogoogle.workspace.APPLICATION.RESOURCE.VERSION.ACTION
.
Ad esempio, per ricevere eventi relativi agli utenti che partecipano a uno spazio di Chat, specifica lo spazio come risorsa di destinazione e il tipo di evento comegoogle.workspace.chat.membership.v1.created
. Per ricevere eventi relativi a un determinato
utente che si unisce a uno spazio, specifica l'utente come risorsa di destinazione e il
tipo di evento come google.workspace.chat.membership.v1.created
. Per scoprire di più su come funzionano gli eventi, consulta la sezione Struttura degli eventi di Google Workspace.
La tabella seguente mostra i tipi di eventi supportati per gli abbonamenti agli spazi e agli utenti. Per informazioni sulle eccezioni relative a ciò che attiva un evento, consulta Limitazioni.
Tipo di evento | Formato | Dati delle risorse | ||
---|---|---|---|---|
Abbonamenti agli spazi | ||||
Viene pubblicato un messaggio. |
|
|
||
Un messaggio viene aggiornato. |
|
|
||
Un messaggio viene eliminato. |
|
|
||
Viene creata una reazione. |
|
|
||
Una reazione viene eliminata. |
|
|
||
Un membro viene aggiunto allo spazio. |
|
|
||
Un membro viene aggiornato nello spazio. |
|
|
||
Un membro viene rimosso dallo spazio. |
|
|
||
Lo spazio viene aggiornato. |
|
|
||
Lo spazio viene eliminato. |
|
|
||
Abbonamenti degli utenti | ||||
L'utente diventa membro di uno spazio.
Non tutti i nuovi membri attivano eventi. Per maggiori dettagli, consulta la sezione Limitazioni. |
|
|
||
L'appartenenza dell'utente a uno spazio viene aggiornata. |
|
|
||
L'utente viene rimosso come membro diretto di uno spazio. |
|
|
Tipi di eventi batch (solo output)
Oltre a ricevere i tipi di eventi a cui hai effettuato l'iscrizione, la tua app Chat potrebbe anche ricevere eventi collettivi. Un evento batch è un evento che rappresenta molti eventi dello stesso tipo che si verificano in un breve periodo di tempo. Il payload di un evento batch contiene un elenco di tutte le risorse modificate.
Ad esempio, se un utente aggiunge 20 utenti a uno spazio contemporaneamente, la tua app Chat potrebbe ricevere un evento batch (google.workspace.chat.membership.v1.batchCreated
). Il payload dell'evento contiene un elenco di tutte le nuove risorse Membership
create quando l'utente ha aggiunto i membri allo spazio.
Riceverai un evento batch per qualsiasi tipo di evento a cui ti abboni, quindi non è necessario specificare gli eventi batch quando crei una sottoscrizione. Ad esempio, se ti abboni alle nuove reazioni (google.workspace.chat.reaction.v1.created
), la tua app Chat viene configurata automaticamente per ricevere eventi di reazione collettiva (google.workspace.chat.reaction.v1.batchCreated
).
La seguente tabella mostra i possibili eventi batch per un abbonamento:
Tipo di evento batch | Formato |
---|---|
Vengono pubblicati più messaggi. |
|
Vengono aggiornati più messaggi. |
|
Vengono eliminati più messaggi. |
|
Vengono create più reazioni. |
|
Più reazioni vengono eliminate. |
|
Sono stati aggiunti più membri allo spazio a cui hai effettuato l'iscrizione o l'utente che ha effettuato l'iscrizione è stato aggiunto a più spazi. |
|
Più abbonamenti vengono aggiornati nello spazio a cui è stato effettuato l'abbonamento o per l'utente che ha effettuato l'abbonamento. |
|
Più membri vengono rimossi dallo spazio a cui è stato effettuato l'abbonamento oppure l'utente che ha effettuato l'abbonamento è stato rimosso da più spazi. |
|
Lo spazio ha più aggiornamenti. |
|
Dati sugli eventi
Questa sezione descrive i dati sugli eventi e i payload di esempio per gli eventi in Chat.
Quando l'abbonamento a Google Workspace riceve un evento da Chat, il campo data
contiene il payload per l'evento. Questo payload contiene informazioni sulla risorsa Google Workspace modificata. Ad esempio, se hai effettuato l'iscrizione agli eventi di adesione in uno spazio, il payload di questi eventi contiene informazioni sulla risorsa spaces.membership
modificata.
Dati della risorsa nel payload dell'evento
Quando crei un abbonamento, puoi specificare se vuoi che il payload includa i dettagli della risorsa o solo il nome della risorsa. Ad esempio, se vuoi ricevere eventi relativi ai membri di uno spazio Chat, puoi specificare quali campi di una risorsa di appartenenza vuoi ricevere nel payload dell'evento.
La seguente tabella fornisce esempi di payload JSON per un abbonamento allo spazio di Chat spaces/AAAABBBBBB
. Per ogni evento ricevuto dall'iscrizione, il payload viene visualizzato nel campo data
dell'evento:
Esempio | Tipo di evento | Payload JSON |
---|---|---|
Un utente pubblica nello spazio il messaggio "Un saluto da Google". |
|
Include i dati delle risorse
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD", "sender": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "2023-09-07T21:37:36.260127Z", "text": "Hello world", "thread": { "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE" }, "space": { "name": "spaces/AAAABBBBBB" }, "argumentText": "Hello world" } } Sono esclusi i dati delle risorse
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD" } } |
Un utente diventa un gestore dello spazio. |
|
Include i dati delle risorse
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MANAGER" } } Sono esclusi i dati delle risorse
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } } |
Un utente aggiorna la descrizione dello spazio in "Team di vendita di Cymbal Labs". | google.workspace.chat.space.v1.updated |
Include i dati delle risorse
{ "space": { "name": "spaces/AAAABBBBBB", "displayName": "Cymbal Sales", "spaceThreadingState": "THREADED_MESSAGES", "spaceType": "SPACE", "spaceDetails": { "description": "Sales team for Cymbal Labs." }, "spaceHistoryState": "HISTORY_ON" } } Sono esclusi i dati delle risorse
{ "space": { "name": "spaces/AAAABBBBBB" } } |
Due utenti di Chat sono stati aggiunti contemporaneamente allo spazio. | google.workspace.chat.membership.v1.batchCreated |
Include i dati delle risorse
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/987654321234567890", "state": "JOINED", "member": { "name": "users/987654321234567890", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } } ] } Sono esclusi i dati delle risorse
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/98765432123456789019" } } ] } |
Un utente reagisce a un messaggio con l'emoji 😊. | google.workspace.chat.reaction.v1.created |
Include i dati delle risorse
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } } Omette i dati delle risorse
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" } } |
Gli utenti reagiscono a un messaggio con le emoji 😊 e 😸. | google.workspace.chat.reaction.v1.batchCreated |
Include i dati delle risorse
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } }, { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", "user": { "name": "users/98765431234564321", "type": "HUMAN" }, "emoji": { "unicode": "😸" } } } ] } Omette i dati delle risorse
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" }, "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", } } ] } |
Limitazioni
-
Per le iscrizioni degli utenti, gli eventi relativi ai nuovi membri nei messaggi diretti o nelle chat di gruppo senza nome (
google.workspace.chat.membership.v1.created
) vengono attivati solo dopo la pubblicazione del primo messaggio. - Per ricevere eventi di adesione, l'utente deve essere un membro diretto dello spazio. Se un utente è stato aggiunto, aggiornato o rimosso indirettamente in uno spazio tramite un gruppo Google, l'abbonamento non riceve questi eventi di appartenenza. Per capire come funzionano le iscrizioni ai gruppi Google, consulta Aggiungere un gruppo Google a uno spazio.
Argomenti correlati
- Struttura degli eventi di Google Workspace
- Scegliere gli ambiti OAuth
- Crea una sottoscrizione per ricevere gli eventi di Chat