Event

Um evento de interação do app Google Chat que representa e contém dados sobre a interação de um usuário com um app do Chat. Para configurar seu app do Chat para receber eventos de interação, consulte Receber e responder a interações do usuário.

Além de receber eventos de interações do usuário, os apps do Chat podem receber eventos sobre mudanças nos espaços, como quando um novo membro é adicionado a um espaço. Para saber mais sobre eventos de espaço, consulte Trabalhar com eventos do Google Chat.

Aviso: esse objeto de evento é usado apenas para apps do Chat que não são complementos. Se o app do Chat for criado como um complemento do Google Workspace, consulte Objetos de evento de complemento na documentação de complementos. Para confirmar o tipo de evento que seu app recebe, consulte Determinar o tipo de evento.

Representação JSON
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  },
  "appCommandMetadata": {
    object (AppCommandMetadata)
  }
}
Campos
type

enum (EventType)

O tipo de interação do usuário com o app do Chat, como MESSAGE ou ADDED_TO_SPACE.

eventTime

string (Timestamp format)

O carimbo de data/hora que indica quando o evento de interação ocorreu.

token

string

Um valor secreto que os apps legados do Chat podem usar para verificar se uma solicitação é do Google. O Google gera o token de forma aleatória, e o valor dele permanece estático. É possível receber, revogar ou gerar novamente o token na página de configuração da API Chat no console do Google Cloud.

Os apps do Chat modernos não usam esse campo. Ela não aparece nas respostas da API nem na página de configuração da API Chat.

threadKey

string

A chave definida pelo app do Chat para a conversa relacionada ao evento de interação. Consulte spaces.messages.thread.threadKey para mais informações.

message

object (Message)

Para eventos de interação ADDED_TO_SPACE, CARD_CLICKED e MESSAGE, a mensagem que acionou o evento de interação, se aplicável.

user

object (User)

O usuário que interagiu com o app do Chat.

thread

object (Thread)

A conversa em que o usuário interagiu com o app do Chat. Pode ser uma nova conversa criada por uma mensagem recém-enviada. Esse campo é preenchido se o evento de interação estiver associado a uma mensagem ou conversa específica.

space

object (Space)

O espaço em que o usuário interagiu com o app do Chat.

action

object (FormAction)

Para eventos de interação CARD_CLICKED, os dados de ação do formulário associados quando um usuário clica em um card ou caixa de diálogo. Para saber mais, consulte Ler dados de formulário inseridos por usuários em cards.

configCompleteRedirectUrl

string

Esse URL é preenchido para eventos de interação MESSAGE, ADDED_TO_SPACE e APP_COMMAND. Depois de concluir um fluxo de autorização ou configuração fora do Google Chat, os usuários precisam ser redirecionados para esse URL para sinalizar ao Google Chat que o fluxo foi concluído. Para mais informações, consulte Conectar um app do Chat a outros serviços e ferramentas.

isDialogEvent

boolean

Para eventos de interação CARD_CLICKED e MESSAGE, se o usuário está interagindo ou prestes a interagir com uma caixa de diálogo.

dialogEventType

enum (DialogEventType)

O tipo de evento de interação de caixa de diálogo recebido.

common

object (CommonEventObject)

Representa informações sobre o cliente do usuário, como localidade, app host e plataforma. Para apps do Chat, CommonEventObject inclui informações enviadas por usuários que interagem com caixas de diálogo, como dados inseridos em um card.

appCommandMetadata

object (AppCommandMetadata)

Metadados sobre um comando do app do Chat.

CommonEventObject

O objeto de evento comum é a parte do objeto de evento geral que transporta informações gerais e independentes do host para o complemento do cliente do usuário. Essas informações incluem detalhes como localidade, app host e plataforma do usuário.

Além da página inicial e dos acionadores contextuais, os complementos criam e transmitem objetos de evento para funções de callback de ação quando o usuário interage com widgets. A função de callback do complemento pode consultar o objeto de evento comum para determinar o conteúdo dos widgets abertos no cliente do usuário. Por exemplo, o complemento pode localizar o texto que um usuário inseriu em um widget TextInput no objeto eventObject.commentEventObject.formInputs.

Para apps do Chat, o nome da função que o usuário invocou ao interagir com um widget.

Representação JSON
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
Campos
userLocale

string

Desativado por padrão. O identificador de idioma e país/região do usuário no formato de código de idioma ISO 639 e código de país/região ISO 3166. Por exemplo, en-US.

Para ativar esse campo, defina addOns.common.useLocaleFromApp como true no manifesto do complemento. A lista de escopos do complemento também precisa incluir https://www.googleapis.com/auth/script.locale. Consulte Como acessar a localidade e o fuso horário do usuário para mais detalhes.

hostApp

enum (HostApp)

Indica o app host em que o complemento está ativo quando o objeto de evento é gerado. Os valores possíveis incluem o seguinte:

  • GMAIL
  • CALENDAR
  • DRIVE
  • DOCS
  • SHEETS
  • SLIDES
  • CHAT
platform

enum (Platform)

O tipo enumerado da plataforma que indica a plataforma de origem do evento (WEB, IOS ou ANDROID). Não é compatível com apps do Chat.

timeZone

object (TimeZone)

Desativado por padrão. O ID do fuso horário e a diferença em relação ao Tempo Universal Coordenado (UTC). Para ativar esse campo, defina addOns.common.useLocaleFromApp como true no manifesto do complemento. A lista de escopos do complemento também precisa incluir https://www.googleapis.com/auth/script.locale. Consulte Como acessar a localidade e o fuso horário do usuário para mais detalhes.

Compatível apenas com os tipos de evento CARD_CLICKED e SUBMIT_DIALOG.

formInputs

map (key: string, value: object (Inputs))

Um mapa que contém os valores atuais dos widgets no card exibido. As chaves do mapa são os valores de string name atribuídos a cada widget de entrada (como TextInput.name, SelectionInput.name, DateTimePicker.name ou DecoratedText.SwitchControl.name).

A estrutura do objeto de valor do mapa depende do tipo de widget:

Observação: os exemplos a seguir estão formatados para o ambiente de execução V8 do Apps Script. Se você estiver usando o ambiente de execução Rhino, adicione [""] após o valor. Por exemplo, em vez de e.commonEventObject.formInputs.employeeName.stringInputs.value[0], formate o objeto de evento como e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0]. Para saber mais sobre os ambientes de execução no Apps Script, consulte a Visão geral do ambiente de execução do V8.

  • Widgets de valor único (por exemplo, um widget TextInput ou um widget SelectionInput do tipo DROPDOWN ou RADIO_BUTTON): um objeto StringInputs que contém uma lista de elemento único (ou uma lista vazia se nenhuma seleção for feita).

Exemplo: para um widget de entrada de texto com employeeName como name, acesse o valor de entrada de texto com: e.commonEventObject.formInputs.employeeName.stringInputs.value[0].

  • Widgets de vários valores (por exemplo, um widget SelectionInput do tipo CHECK_BOX, SWITCH ou MULTI_SELECT): um objeto StringInputs que contém a lista de strings value do item selecionado.

Exemplo: para um widget de vários valores com participants como name, acesse a matriz de valores com: e.commonEventObject.formInputs.participants.stringInputs.value.

  • Um widget DecoratedText.SwitchControl: um objeto StringInputs. Quando selected é true, stringInputs.value contém o campo value da chave (ou "" se value não foi especificado; se várias chaves compartilharem o mesmo name, o value de cada chave selecionada será incluído na lista). Quando selected for false, o value da chave será omitido de stringInputs.value.

  • Um seletor de data e hora (DateTimePickerType.DATE_AND_TIME): um DateTimeInput object.

Exemplo: para um seletor com um name de myDTPicker, acesse o objeto DateTimeInput usando e.commonEventObject.formInputs.myDTPicker.dateTimeInput.

  • Um seletor somente de data (DateTimePickerType.DATE_ONLY): um DateInput object.

Exemplo: para um seletor com um name de myDatePicker, acesse o objeto DateInput usando e.commonEventObject.formInputs.myDatePicker.dateInput.

  • Um seletor somente de horário (DateTimePickerType.TIME_ONLY): um TimeInput object.

Exemplo: para um seletor com um name de myTimePicker, acesse o objeto TimeInput usando e.commonEventObject.formInputs.myTimePicker.timeInput.

parameters

map (key: string, value: string)

Todos os parâmetros adicionais que você fornecer a uma ação usando actionParameters ou Action.setParameters().

Prévia para desenvolvedores: para complementos que estendem o Google Chat, use o valor da chave "autocomplete_widget_query" (event.commonEventObject.parameters["autocomplete_widget_query"]) para sugerir itens com base no que os usuários digitam em menus de seleção múltipla. Você pode usar esse valor para consultar um banco de dados e sugerir itens selecionáveis aos usuários enquanto eles digitam. Veja mais detalhes em Coletar e processar informações de usuários do Google Chat.

invokedFunction

string

Nome da função a ser invocada.

Esse campo não é preenchido para complementos do Google Workspace que estendem o Google Chat. Em vez disso, para receber dados de função, como identificadores, os complementos que estendem o Chat precisam usar o campo parameters. Consulte Criar interfaces interativas para apps do Chat.

TimeZone

O ID do fuso horário e a diferença em relação ao Tempo Universal Coordenado (UTC). Compatível apenas com os tipos de evento CARD_CLICKED e SUBMIT_DIALOG.

Representação JSON
{
  "id": string,
  "offset": integer
}
Campos
id

string

O código do banco de dados de fuso horário IANA TZ, como "America/Toronto".

offset

integer

A diferença de fuso horário do usuário, em milissegundos, em relação ao Tempo Universal Coordenado (UTC).

Entradas

Tipos de dados que os usuários podem inserir em cards ou caixas de diálogo. O tipo de entrada depende do tipo de valores que o widget aceita.

Representação JSON
{

  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
}
Campos
Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
stringInputs

object (StringInputs)

Uma lista de strings que representam os valores que o usuário insere em um widget.

Se o widget aceitar apenas um valor, como um widget TextInput, a lista vai conter um objeto de string. Se o widget aceitar vários valores, como um widget SelectionInput de caixas de seleção, a lista vai conter um objeto de string para cada valor que o usuário inserir ou selecionar.

dateTimeInput

object (DateTimeInput)

Valores de entrada de data e hora de um widget DateTimePicker que aceita ambos.

dateInput

object (DateInput)

Valores de entrada de data de um widget DateTimePicker que aceita apenas valores de data.

timeInput

object (TimeInput)

Valores de entrada de horário de um widget DateTimePicker que aceita apenas valores de horário.

Fim dos campos mutuamente exclusivos.

StringInputs

Parâmetro de entrada para widgets comuns. Para widgets de valor único, é uma lista de valor único. Para widgets com vários valores, como caixas de seleção, todos os valores são apresentados.

Representação JSON
{
  "value": [
    string
  ]
}
Campos
value[]

string

Uma lista de strings inseridas pelo usuário.

DateTimeInput

Valores de entrada de data e hora.

Representação JSON
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
Campos
msSinceEpoch

string (int64 format)

Tempo desde o período, em milissegundos.

hasDate

boolean

Se a entrada datetime inclui uma data do calendário.

hasTime

boolean

Se a entrada datetime inclui um carimbo de data/hora.

DateInput

Valores de entrada de data.

Representação JSON
{
  "msSinceEpoch": string
}
Campos
msSinceEpoch

string (int64 format)

Tempo desde o período, em milissegundos.

TimeInput

Valores de entrada de tempo.

Representação JSON
{
  "hours": integer,
  "minutes": integer
}
Campos
hours

integer

A hora em um relógio de 24 horas.

minutes

integer

O número de minutos após a hora. Os valores válidos são de 0 a 59.

AppCommandMetadata

Metadados sobre um comando do app do Chat.

Representação JSON
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
Campos
appCommandId

integer

O ID do comando especificado na configuração da API Chat.

appCommandType

enum (AppCommandType)

O tipo de comando do app do Chat.