Iscriviti agli eventi di Google Chat

Questa pagina descrive gli eventi di Chat a cui un'app di Chat può abbonarsi utilizzando l'API Google Workspace Events. Dopo aver deciso quali tipi di eventi ti servono, crea un abbonamento per iniziare a ricevere eventi da Chat.

Oltre ad abbonarti agli eventi, puoi anche eseguire query sugli eventi chiamando l'API Google Chat. La chiamata all'API Chat ti consente di recuperare gli eventi periodicamente o di recuperare gli eventi che potresti aver perso da un abbonamento a causa di un'interruzione. Per scoprire i modi in cui puoi ricevere e rispondere agli eventi di Chat, consulta la sezione Lavorare con gli eventi di Chat nella documentazione di Chat.

Eventi di Chat supportati

Gli abbonamenti a Google Workspace ti consentono di ricevere eventi sui seguenti tipi di modifiche in Chat:

Risorse che puoi monitorare per gli eventi

Per ricevere eventi, devi specificare una risorsa di 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

//chat.googleapis.com/spaces/SPACE

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

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

//chat.googleapis.com/spaces/-

L'abbonamento riceve eventi solo per gli spazi in cui l'utente è membro tramite il proprio account Google Workspace o Google. Supporta solo l'autenticazione utente.
Utente

//cloudidentity.googleapis.com/users/USER

dove USER è l'ID nel nome della risorsa della risorsa user dell'API Chat. Per maggiori dettagli, consulta Identificare e specificare gli utenti di Google Chat.

L'abbonamento riceve eventi solo sull'utente che ha autorizzato l'abbonamento. Un utente non può autorizzare un abbonamento per conto di altri utenti. Supporta solo l'autenticazione utente.

Tipi di eventi per la creazione di abbonamenti

Quando crei un abbonamento, utilizza il eventTypes[] campo per specificare i tipi di eventi che vuoi ricevere. I tipi di eventi sono formattati in base alla specifica CloudEvents, ad esempio google.workspace.APPLICATION.RESOURCE.VERSION.ACTION.

Ad esempio, per ricevere eventi sugli utenti che partecipano a uno spazio di Chat, specifica lo spazio come risorsa di destinazione e il tipo di evento come google.workspace.chat.membership.v1.created. Per ricevere eventi su un determinato utente che partecipa a qualsiasi spazio, specifica l'utente come risorsa di destinazione e il tipo di evento come google.workspace.chat.membership.v1.created. Per saperne di più sul funzionamento degli eventi, consulta Struttura degli eventi di Google Workspace events.

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

Tipo di evento Formato Dati delle risorse
Abbonamenti agli spazi  
Viene pubblicato un messaggio.

google.workspace.chat.message.v1.created

space.message

Un messaggio viene aggiornato.

google.workspace.chat.message.v1.updated

space.message

Un messaggio viene eliminato.

google.workspace.chat.message.v1.deleted

space.message

Viene creata una reazione.

google.workspace.chat.reaction.v1.created

space.message.reaction

Una reazione viene eliminata.

google.workspace.chat.reaction.v1.deleted

space.message.reaction

Un membro viene aggiunto allo spazio.

google.workspace.chat.membership.v1.created

space.membership

Un membro viene aggiornato nello spazio.

google.workspace.chat.membership.v1.updated

space.membership

Un membro viene rimosso dallo spazio.

google.workspace.chat.membership.v1.deleted

space.membership

Lo spazio viene aggiornato.

google.workspace.chat.space.v1.updated

space

Lo spazio viene eliminato.

google.workspace.chat.space.v1.deleted

space

Abbonamenti agli utenti  
L'utente diventa membro di uno spazio.

Non tutti i nuovi membri attivano gli eventi. Per maggiori dettagli, consulta 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 abboni, la tua app di Chat potrebbe ricevere anche eventi batch. 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 di 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 ti abboni, quindi non devi specificare gli eventi batch quando crei un abbonamento. Ad esempio, se ti abboni alle nuove reazioni (google.workspace.chat.reaction.v1.created), la tua app di Chat viene configurata automaticamente per ricevere eventi batch di reazione (google.workspace.chat.reaction.v1.batchCreated).

La tabella seguente mostra i possibili eventi batch per un abbonamento:

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

Vengono aggiunti più membri allo spazio sottoscritto o l'utente sottoscritto è stato aggiunto a più spazi.

google.workspace.chat.membership.v1.batchCreated

Vengono aggiornate più appartenenze nello spazio sottoscritto o per l'utente sottoscritto.

google.workspace.chat.membership.v1.batchUpdated

Vengono rimossi più membri dallo spazio sottoscritto o l'utente sottoscritto è stato rimosso da più spazi.

google.workspace.chat.membership.v1.batchDeleted

Lo spazio ha più 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 Chat.

Quando il tuo abbonamento a Google Workspace riceve un evento da Chat, il data campo contiene il payload dell'evento. Questo payload contiene informazioni sulla risorsa di Google Workspace modificata. Ad esempio, se hai sottoscritto l'abbonamento agli eventi di appartenenza in uno spazio, il payload di questi eventi contiene informazioni sulla spaces.membership risorsa modificata.

Dati delle risorse 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 sui membri di uno spazio di Chat, specifica i campi di una risorsa di appartenenza che vuoi ricevere nel payload dell'evento.

La tabella seguente fornisce esempi di payload JSON per un abbonamento allo spazio di Chat spaces/AAAABBBBBB. Per ogni evento ricevuto dall'abbonamento, il payload viene visualizzato nel campo data dell'evento:

Esempio Tipo di evento Payload JSON

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

google.workspace.chat.message.v1.created

Include i dati delle risorse:

{
    "message":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID",
        "sender":
        {
            "name": "users/USER_ID",
            "type": "HUMAN"
        },
        "createTime": "2023-09-07T21:37:36.260127Z",
        "text": "Hello world",
        "thread":
        {
            "name": "spaces/SPACE_ID/threads/THREAD_ID"
        },
        "space":
        {
            "name": "spaces/SPACE_ID"
        },
        "argumentText": "Hello world"
    }
}
      

Esclude i dati delle risorse:

{
    "message":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID"
    }
}
      
Un utente diventa gestore dello spazio.

google.workspace.chat.membership.v1.updated

Include i dati delle risorse:

{
    "membership":
    {
        "name": "spaces/SPACE_ID/members/MEMBER_ID",
        "state": "JOINED",
        "member":
        {
            "name": "users/USER_ID",
            "type": "HUMAN"
        },
        "createTime": "1970-01-01T00:00:00Z",
        "role": "ROLE_MANAGER"
    }
}
      

Esclude i dati delle risorse:

{
    "membership":
    {
        "name": "spaces/SPACE_ID/members/MEMBER_ID"
    }
}
      
Un utente aggiorna la descrizione dello spazio a "Team di vendita per Cymbal Labs". google.workspace.chat.space.v1.updated

Include i dati delle risorse:

{
    "space":
    {
        "name": "spaces/SPACE_ID",
        "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/SPACE_ID"
    }
}
      
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/SPACE_ID/members/MEMBER_ID",
            "state": "JOINED",
            "member":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        },
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID",
            "state": "JOINED",
            "member":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        }
    ]
}
      

Esclude i dati delle risorse:

{
    "memberships": [
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID"
          }
        },
        {
          "membership": {
            "name": "spaces/SPACE_ID/members/MEMBER_ID"
          }
        }
    ]
}
      
Un utente reagisce a un messaggio con l'emoji 😊. google.workspace.chat.reaction.v1.created

Include i dati delle risorse:

{
    "reaction":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
        "user":
        {
            "name": "users/USER_ID",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      

Esclude i dati delle risorse:

{
    "reaction":
    {
        "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID"
    }
}
      
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/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
            "user":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😊"
            }
          }
        },
        {
          "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
            "user":
            {
                "name": "users/USER_ID",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😸"
            }
          }
        }
    ]
}
      

Esclude i dati delle risorse:

{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID"
        },
        "reaction": {
            "name": "spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID",
        }
      }
    ]
}
      

Limitazioni

  • Per gli abbonamenti agli 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 appartenenza, l'utente o l'app di Chat deve essere un membro diretto dello spazio. Se sono stati aggiunti, aggiornati o rimossi indirettamente a uno spazio tramite un gruppo Google, l'abbonamento non riceve questi eventi di appartenenza. Per capire come funzionano le appartenenze ai gruppi Google, consulta Aggiungere un gruppo Google a uno spazio.