Iscriviti agli eventi di Google Chat

In questa pagina vengono descritti gli eventi di Google Chat che un'app Google Chat possono abbonarsi utilizzando l'API Google Workspace Events. Dopo aver deciso tipi di eventi di cui hai bisogno, crea un abbonamento per iniziare a ricevere eventi da Google Chat.

Oltre a iscriverti agli eventi, puoi anche eseguire query sugli eventi chiamando l'API Chat. Chiamare l'API Chat consente di recuperare eventi su base periodica o di recuperare sugli eventi a cui potresti non aver sottoscritto un abbonamento a causa di un'interruzione. Per ulteriori informazioni su come ricevere e rispondere agli eventi di Chat, vedi Lavora 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 a i 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 il nome o la descrizione aggiornati di uno spazio.

Risorse che puoi monitorare per gli eventi

Per ricevere eventi, devi specificare una risorsa di Chat da monitorare, denominata risorsa di destinazione della sottoscrizione.

L'API Google Workspace Events supporta le seguenti risorse di destinazione per Chat:

Risorsa di destinazione Formato Limitazioni
Spazio

//chat.googleapis.com/spaces/SPACE

dove SPACE è l'ID nella nome risorsa della risorsa space dell'API Chat. Puoi ottenere l'ID dall'URL dello spazio oppure utilizzando il metodo spaces.list().

L'utente di Chat che autorizza l'abbonamento deve essere un membro dello spazio tramite Google Workspace o Google Account.
Tutti gli spazi per un utente

//chat.googleapis.com/spaces/-

L'abbonamento riceve solo gli eventi relativi agli spazi in cui l'utente si trova a un membro tramite il suo Account Google Workspace o Google.
Utente

//cloudidentity.googleapis.com/users/USER

dove USER è l'ID nella nome risorsa della risorsa user dell'API Chat. Per maggiori dettagli, vedi Identifica e specifica Utenti di Google Chat.

L'abbonamento riceve soltanto gli eventi relativi all'utente che autorizzato l'abbonamento. Un utente non può autorizzare un abbonamento su per conto di altri utenti.

Tipi di eventi per la creazione di sottoscrizioni

Quando crei un abbonamento, utilizzi eventTypes[] per specificare quali tipi di eventi vuoi ricevere. I tipi di evento sono formattati in base alla specifica CloudEvents, come google.workspace.APPLICATION.RESOURCE.VERSION.ACTION.

Ad esempio, per ricevere eventi relativi agli utenti che partecipano a una chat spazio, specifichi lo spazio come risorsa di destinazione e il tipo di evento come google.workspace.chat.membership.v1.created. Per ricevere eventi relativi a un determinato l'utente che partecipa a uno spazio, specifichi l'utente come risorsa di destinazione e tipo di evento come google.workspace.chat.membership.v1.created. Per scoprire di più su come funzionano gli eventi, vedi Struttura di Google Workspace eventi.

La tabella seguente mostra i tipi di eventi supportati per gli abbonamenti a spazi e abbonamenti agli utenti. Per scoprire di più sulle eccezioni cosa attiva un evento, consulta Limitazioni.

Tipo di evento Formato Dati delle risorse
Abbonamenti a spazi  
È stato pubblicato un messaggio.

google.workspace.chat.message.v1.created

space.message

Viene aggiornato un messaggio.

google.workspace.chat.message.v1.updated

space.message

È stato eliminato un messaggio.

google.workspace.chat.message.v1.deleted

space.message

Viene creata una reazione.

google.workspace.chat.reaction.v1.created

space.message.reaction

Viene eliminata una reazione.

google.workspace.chat.reaction.v1.deleted

space.message.reaction

Un membro è stato aggiunto allo spazio.

google.workspace.chat.membership.v1.created

space.membership

Un membro è stato aggiornato nello spazio.

google.workspace.chat.membership.v1.updated

space.membership

Un membro è stato rimosso dallo spazio.

google.workspace.chat.membership.v1.deleted

space.membership

Lo spazio è aggiornato.

google.workspace.chat.space.v1.updated

space

Lo spazio è stato eliminato.

google.workspace.chat.space.v1.deleted

space

Abbonamenti per gli utenti  
L'utente diventa membro di uno spazio.

Non tutti i nuovi membri attivano eventi. Per maggiori dettagli, vedi Limitazioni

google.workspace.chat.membership.v1.created

space.membership

L'appartenenza dell'utente a uno spazio viene aggiornata.

google.workspace.chat.membership.v1.updated

space.membership

L'utente viene rimosso come membro diretto di uno spazio.

google.workspace.chat.membership.v1.deleted

space.membership

Tipi di eventi batch (solo output)

Oltre a ricevere i tipi di eventi a cui ti iscrivi, i tuoi L'app Chat potrebbe anche ricevere eventi batch. Un evento batch è un evento che rappresenta molti eventi dello stesso tipo che si verificano in un breve un periodo di tempo. Il payload di un evento batch contiene un elenco di tutte le modifiche Google Cloud.

Ad esempio, se un utente aggiunge 20 utenti contemporaneamente a uno spazio, i tuoi L'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.

Ricevi un evento batch per qualsiasi tipo di evento a cui hai sottoscritto l'abbonamento, quindi Non devi specificare eventi batch quando crei una sottoscrizione. Per Ad esempio, se ti iscrivi alle nuove reazioni (google.workspace.chat.reaction.v1.created), il tuo L'app Chat è configurata automaticamente per ricevere messaggi collettivi eventi di reazione (google.workspace.chat.reaction.v1.batchCreated).

La tabella seguente mostra i possibili eventi batch per una sottoscrizione:

Tipo di evento batch Formato
Vengono pubblicati più messaggi.

google.workspace.chat.message.v1.batchCreated

Vengono aggiornati più messaggi.

google.workspace.chat.message.v1.batchUpdated

Vengono eliminati più messaggi.

google.workspace.chat.message.v1.batchDeleted

Vengono create più reazioni.

google.workspace.chat.reaction.v1.batchCreated

Vengono eliminate più reazioni.

google.workspace.chat.reaction.v1.batchDeleted

Più membri vengono aggiunti allo spazio a cui hai effettuato l'iscrizione oppure l'utente che ha effettuato l'iscrizione è stato aggiunto a più spazi.

google.workspace.chat.membership.v1.batchCreated

Gli abbonamenti multipli vengono aggiornati nello spazio a cui hai effettuato l'iscrizione o per l'utente che ha effettuato l'iscrizione.

google.workspace.chat.membership.v1.batchUpdated

Più membri vengono rimossi dallo spazio a cui hai effettuato l'iscrizione oppure l'utente che ha effettuato l'iscrizione è stato rimosso da più spazi.

google.workspace.chat.membership.v1.batchDeleted

Lo spazio ha diversi aggiornamenti.

google.workspace.chat.space.v1.batchUpdated

Dati sugli eventi

Questa sezione descrive i dati sugli eventi e i payload di esempio per gli eventi in Chatta.

Quando il tuo abbonamento a Google Workspace riceve un evento da Chat, il data contiene il payload per l’evento. Questo payload contiene informazioni Risorsa Google Workspace modificata. Ad esempio, se hai sottoscritto un abbonamento a per gli eventi di appartenenza in uno spazio, il payload per questi eventi contiene informazioni su spaces.membership risorsa che è stata modificata.

Dati delle risorse nel payload dell'evento

Quando crei una sottoscrizione, puoi specificare se vuoi che il payload includi i dettagli della risorsa o solo il nome della risorsa. Per Ad esempio, se vuoi ricevere eventi relativi ai membri di un puoi specificare i campi di una risorsa di appartenenza che vuoi ricevere nel payload dell'evento.

La tabella seguente fornisce esempi di payload JSON per una sottoscrizione a lo spazio di Chat spaces/AAAABBBBBB. Per ogni evento che riceve un abbonamento, il payload viene visualizzato nel campo data dell'evento:

Esempio Tipo di evento Payload JSON

Un utente pubblica nello spazio un messaggio con scritto "Hello world".

google.workspace.chat.message.v1.created

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"
    }
}
      
Esclude i dati delle risorse
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD"
    }
}
      
Un utente diventa un gestore dello spazio.

google.workspace.chat.membership.v1.updated

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"
    }
}
      
Esclude 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"
    }
}
      
Esclude i dati delle risorse
{
    "space":
    {
        "name": "spaces/AAAABBBBBB"
    }
}
      
Due utenti di Chat sono stati aggiunti allo spazio contemporaneamente. 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"
          }
        }
    ]
}
      
Esclude 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": "😊"
        }
    }
}
      
I dati delle risorse vengono omessi
{
    "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": "😸"
            }
          }
        }
    ]
}
      
I dati delle risorse vengono omessi
{
    "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 agli utenti, gli eventi relativi ai nuovi membri in messaggi diretti o chat di gruppo senza nome (google.workspace.chat.membership.v1.created), si attivano solo dopo la pubblicazione del primo messaggio.
  • Per ricevere eventi di iscrizione, l'utente deve essere un membro diretto dello spazio. Se un utente è stato aggiunto, aggiornato o rimosso indirettamente a uno spazio tramite un gruppo Google, l'abbonamento non riceveranno gli eventi associati ai membri. Per capire come funzionano le iscrizioni ai gruppi Google, vedi Aggiungere un gruppo Google a uno spazio.