Nesta página, descrevemos a estrutura dos objetos de evento de complementos do Google Workspace.
Objetos de evento são estruturas JSON construídas e transmitidas automaticamente como parâmetros para acionar ou retornar funções de callback quando um usuário interage com um complemento. Os objetos de evento transportam informações do lado do cliente sobre o app host e o contexto atual para a função de callback do lado do servidor do complemento.
Os complementos do Google Workspace usam objetos de evento nos seguintes locais:
Acionadores da página inicial. Cada função
homepageTrigger
definida recebe automaticamente um objeto de evento quando a função do acionador da página inicial é disparada. É possível usar esse objeto na função de gatilho da página inicial para identificar o app host ativo, a plataforma do cliente, a localidade do usuário e outras informações.Os objetos de evento criados quando os acionadores da página inicial são disparados não contêm todos os campos incluídos nos outros dois casos. Os campos relacionados a widgets e informações contextuais são omitidos.
Acionadores contextuais. Cada aplicativo host fornece um conjunto diferente de acionadores contextuais que são disparados quando o usuário insere um contexto específico. Por exemplo:
- O Gmail oferece um gatilho contextual para quando um usuário abre uma mensagem e outro quando um usuário escreve uma mensagem.
- O Google Agenda oferece um acionador contextual para quando um usuário abre um evento.
- O Google Drive oferece um gatilho contextual para quando um usuário seleciona arquivos do Drive.
Quando um acionador contextual é disparado, o aplicativo host chama o
runFunction
correspondente listado no manifesto do complemento, transmitindo um objeto de evento como um parâmetro. Os objetos de evento criados quando os acionadores contextuais são disparados contêm todos os campos incluídos nos objetos de evento de acionador da página inicial, além dos campos que contêm informações contextuais.Ações de widgets. Os objetos de evento também são usados para proporcionar interatividade com o widget, usando o mesmo modelo de ação utilizado pelos complementos do Gmail. Os complementos do Google Workspace usam as mesmas funções do gerenciador de widgets, objetos
Action
e respostas de ação. No entanto, nos complementos do Google Workspace, os objetos de evento de ação incluem ainda mais informações que uma função de callback pode usar.Os objetos de evento criados como resultado de ações de widget contêm todos os campos incluídos em objetos de evento de gatilho contextual, além de campos que contêm informações de widget.
Visualizar acionadores de links No Documentos Google, você pode configurar visualizações de links para serviços de terceiros com base em padrões de URL específicos. Quando os usuários interagem com um link que atende ao padrão, o
linkPreviewTriggers
é acionado, e um objeto de evento que contém o link é transmitido para a função de callback do acionador. Seu complemento pode usar esse objeto de evento para criar um ícone inteligente e um cartão que mostre informações sobre o link no aplicativo host. Também é possível criar ações de widget para permitir que os usuários interajam com o card de visualização e o conteúdo dele.
Estrutura do objeto de evento
A tabela a seguir descreve a estrutura de nível superior dos
objetos de evento de complementos do Google Workspace. A estrutura do objeto do evento inclui um campo de nível superior commonEventObject
para informações independentes do host. Cada objeto de evento também pode
ter um dos seguintes campos de nível superior específicos do host, determinados pelo
app host ativo: gmailEventObject
,
calendarEventObject
ou driveEventObject
.
Para garantir a compatibilidade com versões anteriores, os objetos de evento de complementos do Google Workspace também incluem todos os campos originais usados nos objetos de eventos de ações de complementos do Gmail. Esses campos estão listados na tabela abaixo em "Campos originais do complemento do Gmail". As informações neles são reproduzidas na nova estrutura do objeto.
Objeto de evento | |
---|---|
eventObject.commonEventObject |
Common fields object
Um objeto que contém informações comuns a todos os objetos de evento, independentemente do aplicativo host. |
eventObject.calendar |
Calendar event object
Presente apenas se o organizador da chamada for o Google Agenda. Um objeto que contém informações de eventos e agendas. |
eventObject.drive |
Drive event object
Presente apenas se o host da chamada for o Google Drive. Um objeto que contém informações do Drive. |
eventObject.gmail |
Gmail event object
Presente apenas se o organizador da chamada for o Gmail. Um objeto que contém informações do Gmail. |
eventObject.docs |
Docs event object
Presente apenas se o organizador da chamada for um arquivo dos Documentos Google. Um objeto que contém informações dos documentos. |
eventObject.sheets |
Sheets event object
Presente apenas se o organizador da chamada for o Planilhas Google. Um objeto que contém informações do app Planilhas. |
eventObject.slides |
Slides event object
Presente apenas se o organizador da chamada for o app Apresentações Google. Um objeto que contém informações das Apresentações. |
Campos dos complementos originais do Gmail | |
eventObject.messageMetadata.accessToken |
string Descontinuado. Um token de acesso. Você pode usar esse recurso para ativar o acesso aos dados do usuário com escopos temporários dos complementos do Gmail.
Para complementos do Google Workspace, você encontra essas informações no
campo
|
eventObject.messageMetadata.messageId |
string Descontinuado. O ID da mensagem da conversa aberta na IU do Gmail.
Para complementos do Google Workspace, você encontra essas informações no
campo
|
eventObject.clientPlatform |
string Descontinuado. Indica a origem do evento (Web, iOS ou Android).
Para complementos do Google Workspace, você encontra essas informações no
campo
|
eventObject.formInput |
object Descontinuado. Um mapa dos valores atuais de todos os widgets de formulário no card, restrito a um valor por widget. As chaves são os IDs de string associados aos widgets, e os valores são strings. O objeto de evento oferece formInput como uma conveniência para quando você precisa ler dados de vários widgets com valores únicos esperados, como entradas de texto e chaves. Para widgets com vários valores, como caixas de seleção, você pode ler cada valor a partir de formInputs .
Para complementos do Google Workspace, encontre essas informações no campo
|
eventObject.formInputs |
object Descontinuado. Um mapa dos valores atuais dos widgets no card, apresentado como listas de strings. As chaves são os IDs de string associados ao widget. Para widgets de valor único, o valor é apresentado em uma matriz de elemento único. Para widgets com vários valores, como grupos de caixas de seleção, todos os valores são apresentados em uma lista.
Para complementos do Google Workspace, você encontra essas informações no
campo
|
eventObject.parameters |
object Descontinuado. Um mapa dos parâmetros adicionais que você fornecer para Action usando
Action.setParameters() . As chaves e os valores do mapa são strings.
Para complementos do Google Workspace, você encontra essas informações no
campo
|
eventObject.userCountry |
string Suspenso e desativado por padrão. O código de duas letras que indica o país ou a região do usuário. Também pode ser um código de país UN M49 numérico.
Para complementos do Google Workspace, você encontra essas informações no
campo
|
eventObject.userLocale |
string Suspenso e desativado por padrão. O código ISO 639 de duas letras que indica o idioma do usuário. Consulte Como acessar a localidade e o fuso horário do usuário para saber mais.
Para complementos do Google Workspace, você encontra essas informações no
campo
|
eventObject.userTimezone.id |
string Suspenso e desativado por padrão. O identificador de fuso horário do fuso horário do usuário. Por exemplo: America/New_York , Europe/Vienna e
Asia/Seoul . Consulte
Acessar a localidade e o fuso horário do usuário para saber mais.
Para complementos do Google Workspace, você encontra essas informações no
campo
|
eventObject.userTimezone.offset |
string Suspenso e desativado por padrão. O ajuste do Horário Universal Coordenado (UTC) do fuso horário do usuário, medido em milissegundos. Consulte Acessar a localidade e o fuso horário do usuário para saber mais.
Para complementos do Google Workspace, você encontra essas informações no
campo
|
Objeto de evento comum
O objeto de evento comum é a parte do objeto de evento geral que envia informações gerais independentes do host para o complemento a partir do cliente do usuário. Essas informações incluem detalhes como a localidade do usuário, o app host e a plataforma.
Além dos acionadores contextuais e da página inicial, 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 seu complemento pode consultar o objeto de evento comum para determinar o conteúdo dos widgets abertos no cliente do usuário. Por exemplo, seu complemento pode localizar o texto que um usuário inseriu em um widget
TextInput
no
objeto eventObject.commentEventObject.formInputs
.
Campos de objetos de evento comuns | |
---|---|
commonEventObject.platform |
string Indica a origem do evento ("WEB", "iOS" ou "ANDROID"). |
commonEventObject.formInputs |
object Um mapa contendo os valores atuais dos widgets no card exibido. As chaves do mapa são os IDs de string atribuídos a cada widget. A estrutura do objeto de valor do mapa depende do tipo de widget:
|
commonEventObject.hostApp |
string Indica o app host em que o complemento está ativo quando o objeto de evento é gerado. Os valores possíveis incluem o seguinte:
|
commonEventObject.parameters |
object Qualquer parâmetro adicional que você fornecer ao
Action usando
Action.setParameters() .
|
commonEventObject.userLocale |
string Desativado por padrão. O idioma e o identificador de país/região do usuário no formato de código de idioma ISO 639 - código de país/região ISO 3166. Por exemplo, en-US .
Para ativar esse campo, defina |
commonEventObject.timeZone |
string Desativado por padrão. O ID e o deslocamento do fuso horário. Para ativar esse campo, defina addOns.common.useLocaleFromApp como true no manifesto do complemento.
A lista de escopo do complemento também precisa incluir
https://www.googleapis.com/auth/script.locale .
Consulte
Acessar a localidade e o fuso horário do usuário para saber mais.
|
commonEventObject.timeZone.id |
string O identificador de fuso horário do fuso horário do usuário. Por exemplo: America/New_York , Europe/Vienna e
Asia/Seoul . Para ativar esse campo, defina
addOns.common.useLocaleFromApp como true no manifesto do complemento.
A lista de escopo do complemento também precisa incluir
https://www.googleapis.com/auth/script.locale . Consulte
Acessar a localidade e o fuso horário do usuário para saber mais.
|
commonEventObject.timeZone.offset |
string O ajuste de horário do Tempo Universal Coordenado (UTC) do fuso horário do usuário, medido em milissegundos. Consulte Acessar a localidade e o fuso horário do usuário para saber mais. |
Entradas do formulário do seletor de data e hora
As funções de callback de ação podem receber valores de widget atuais no campo commonEventObject.formInputs
.
Isso inclui os valores de data ou hora selecionados pelo usuário nos widgets de
seletor de data ou hora.
No entanto, a estrutura das informações varia caso o
widget tenha sido configurado como um seletor de data, hora ou data. As diferenças estruturais são descritas na tabela a seguir:
Objeto de evento da agenda
O objeto de evento da Agenda é a parte do objeto de evento geral que carrega informações sobre a agenda e os eventos da agenda de um usuário. Ele só estará presente em um objeto de evento se o aplicativo host for o Google Agenda.
A tabela a seguir lista os campos presentes no campo calendarEventObject
de um objeto de evento. Os campos marcados como Dados gerados pelo usuário estarão presentes no objeto de evento somente se os dados estiverem no evento do Agenda e o complemento definir o campo addOns.calendar.currentEventAccess
do manifesto como READ
ou READ_WRITE
.
Objeto de evento da agenda | |
---|---|
calendar.attendees[] |
list of attendee objects Dados gerados pelo usuário. Uma lista dos participantes do evento da agenda. |
calendar.calendarId |
string O ID da agenda. |
calendar.capabilities |
object Dados gerados pelo usuário. Um objeto que descreve os recursos do complemento para ver ou atualizar informações de eventos. |
calendar.capabilities.canAddAttendees |
boolean Dados gerados pelo usuário. true
se o complemento puder adicionar novos participantes à lista de participantes do evento.
Caso contrário, false . |
calendar.capabilities.canSeeAttendees |
boolean Dados gerados pelo usuário. true
se o complemento puder ler a lista de participantes do evento. Caso contrário, false . |
calendar.capabilities.canSeeConferenceData |
boolean Dados gerados pelo usuário. true
se o complemento puder ler os dados de videoconferência do evento. Caso contrário,
false . |
calendar.capabilities.canSetConferenceData |
boolean Dados gerados pelo usuário. true
se o complemento puder atualizar os dados de videoconferência do evento. Caso contrário,
false . |
calendar.capabilities.canAddAttachments |
boolean Dados gerados pelo usuário. true
se o complemento puder adicionar novos anexos ao evento.
Caso contrário, retorna false .
|
calendar.conferenceData |
Conference data object Dados gerados pelo usuário. Um objeto que representa os dados de videoconferência associados a esse evento, como detalhes da videoconferência do Google Meet. |
calendar.id |
string ID do evento. |
calendar.organizer |
object Um objeto que representa o organizador do evento. |
calendar.organizer.email |
string O endereço de e-mail do organizador do evento. |
calendar.recurringEventId |
string O ID de um evento recorrente. |
Participante
Os objetos de participantes carregam informações sobre convidados específicos para os eventos do Google Agenda. Essas informações estarão presentes no objeto de evento somente se os dados
estiverem presentes no evento do Agenda e o complemento definir o campo
addOns.calendar.currentEventAccess
manifesto
como READ
ou READ_WRITE
.
Objeto do participante | |
---|---|
attendee.additionalGuests |
number O número de convidados adicionais que o convidado indicou que vai levar. Assume zero como padrão. |
attendee.comment |
string O comentário de resposta do participante, se houver. |
attendee.displayName |
string O nome de exibição do convidado. |
attendee.email |
string O endereço de e-mail do convidado. |
attendee.optional |
boolean true se a participação deste participante for marcada como opcional. Caso contrário, false .
|
attendee.organizer |
boolean true se o convidado for um
organizador deste evento.
|
attendee.resource |
boolean true se o convidado representar um
recurso, como uma sala ou um equipamento. false
caso contrário.
|
attendee.responseStatus |
string O status de resposta do convidado. Os valores possíveis incluem o seguinte:
|
attendee.self |
boolean true se o convidado representar
a agenda em que o evento aparece. Caso contrário, false .
|
Dados da conferência
Os objetos de dados de videoconferência transportam informações sobre conferências anexadas
aos eventos do Google Agenda. Podem ser soluções de videoconferência do Google, como
o Google Meet, ou conferências de terceiros. Essas informações estarão presentes no
objeto do evento se e somente se os dados estiverem presentes no evento do Agenda e o
complemento definir o campo
manifesto
addOns.calendar.currentEventAccess
como
READ
ou READ_WRITE
.
Objeto de dados da videoconferência | |
---|---|
conferenceData.conferenceId |
string O ID da videoconferência. O ID serve para permitir que os aplicativos acompanhem as conferências. Não o exiba aos usuários. |
conferenceData.conferenceSolution |
object Um objeto que representa a solução de videoconferência, como Hangouts ou Google Meet. |
conferenceData.conferenceSolution.iconUri |
string O URI do ícone visível ao usuário que representa essa solução de videoconferência. |
conferenceData.conferenceSolution.key |
object A chave que identifica de forma exclusiva a solução de conferência para esse evento. |
conferenceData.conferenceSolution.key.type |
string O tipo de solução de videoconferência. Os valores possíveis incluem o seguinte:
|
conferenceData.conferenceSolution.name |
string O nome visível ao usuário dessa solução de conferência (não localizado). |
conferenceData.entryPoints[] |
list of entry point objects
A lista de pontos de entrada de videoconferências, como URLs ou números de telefone. |
conferenceData.notes |
string Outras observações, como instruções do administrador do domínio ou avisos legais, sobre a videoconferência a serem exibidas ao usuário. Pode conter HTML. O tamanho máximo é de 2.048 caracteres. |
conferenceData.parameters |
object Um objeto que contém um mapa de dados de parâmetros definidos para uso pelo complemento. |
conferenceData.parameters.addOnParameters |
object Um mapa de chaves e valores de strings de parâmetros. Essas chaves e valores são definidos pelo desenvolvedor do complemento para anexar informações a uma conferência específica para uso do complemento. |
Ponto de entrada
Os objetos de ponto de entrada transportam informações sobre os meios estabelecidos de acesso
a uma determinada videoconferência, como por telefone ou vídeo. Essas informações estarão presentes no
objeto de evento se e somente se os dados estiverem presentes no evento do Agenda e
o complemento definir o campo
manifesto
addOns.calendar.currentEventAccess
como
READ
ou READ_WRITE
.
Objeto do ponto de entrada | |
---|---|
entryPoint.accessCode |
string O código de acesso usado para acessar a videoconferência. O tamanho máximo é de 128 caracteres. Os provedores de videoconferência normalmente usam apenas um subconjunto de { accessCode , meetingCode ,
passcode , password , pin } para
fornecer acesso a conferências. Fazer a correspondência e sempre exibir apenas os campos
que o provedor de videoconferência usa.
|
entryPoint.entryPointFeatures |
list Recursos do ponto de entrada. Atualmente, esses recursos só se aplicam aos pontos de entrada do phone :
|
entryPoint.entryPointType |
string O tipo de ponto de entrada. Os valores possíveis são os seguintes:
|
entryPoint.label |
string O rótulo visível ao usuário para o URI do ponto de entrada (não localizado). |
entryPoint.meetingCode |
string O código da reunião usado para acessar a videoconferência. O tamanho máximo é de 128 caracteres. Os provedores de videoconferência normalmente usam apenas um subconjunto de { accessCode , meetingCode ,
passcode , password , pin } para
fornecer acesso a conferências. Fazer a correspondência e sempre exibir apenas os campos
que o provedor de videoconferência usa.
|
entryPoint.passcode |
string A senha usada para acessar a videoconferência. O tamanho máximo é de 128 caracteres. Os provedores de videoconferência normalmente usam apenas um subconjunto de { accessCode , meetingCode ,
passcode , password , pin } para
fornecer acesso a conferências. Fazer a correspondência e sempre exibir apenas os campos
que o provedor de videoconferência usa.
|
entryPoint.password |
string A senha usada para acessar a videoconferência. O tamanho máximo é de 128 caracteres. Os provedores de videoconferência normalmente usam apenas um subconjunto de { accessCode , meetingCode ,
passcode , password , pin } para
fornecer acesso a conferências. Fazer a correspondência e sempre exibir apenas os campos
que o provedor de videoconferência usa.
|
entryPoint.pin |
string O PIN usado para acessar a videoconferência. O tamanho máximo é de 128 caracteres. Os provedores de videoconferência normalmente usam apenas um subconjunto de { accessCode , meetingCode ,
passcode , password , pin } para
fornecer acesso a conferências. Fazer a correspondência e sempre exibir apenas os campos
que o provedor de videoconferência usa.
|
entryPoint.regionCode |
string Código regional do número de telefone. Necessário pelos usuários se o URI não incluir um código do país. Os valores são baseados na lista pública CLDR de códigos regionais (em inglês). |
entryPoint.uri |
string O URI do ponto de entrada. O tamanho máximo é de 1.300 caracteres. A formatação depende do tipo do ponto de entrada:
|
Objeto de evento do Drive
O objeto de evento do Drive é a parte do objeto de evento geral que carrega informações sobre o Google Drive de um usuário e o conteúdo dele. Ele só estará presente em um objeto de evento se o aplicativo host for o Google Drive.
Objeto de evento do Drive | |
---|---|
drive.activeCursorItem |
Drive item object O item do Drive ativo no momento. |
drive.selectedItems[] |
list of Drive item objects Uma lista de itens (arquivos ou pastas) selecionados no Drive. |
Item do Google Drive
Os objetos de item do Drive carregam informações sobre itens específicos, como arquivos ou pastas.
Objeto de item do Drive | |
---|---|
item.addonHasFileScopePermission |
boolean Se true , o complemento solicitou
e recebeu uma autorização de escopo https://www.googleapis.com/auth/drive.file
para este item. Caso contrário, o campo será
false .
|
item.id |
string ID do item selecionado. |
item.iconUrl |
string O URL do ícone que representa o item selecionado. |
item.mimeType |
string O tipo MIME do item selecionado. |
item.title |
string Título do item selecionado. |
Objeto de evento do Gmail
O objeto de evento do Gmail é a parte do objeto de evento geral que carrega informações sobre as mensagens de um usuário do Gmail. Ele só estará presente em um objeto de evento se o aplicativo host for o Gmail.
Objeto de evento do Gmail | |
---|---|
gmail.accessToken |
string O token de acesso específico do Gmail. Você pode usar esse token com o método GmailApp.setCurrentMessageAccessToken(accessToken)
para conceder ao complemento acesso temporário à mensagem do Gmail de um usuário
aberta no momento ou permitir que o complemento crie novos rascunhos.
|
gmail.bccRecipients[] |
list of strings Desativado por padrão. A lista de endereços de e-mail de destinatários em "Cco:" atualmente incluídos em um rascunho do complemento. Para ativar esse campo, defina o campo addOns.gmail.composeTrigger.draftAccess no manifesto como
METADATA .
|
gmail.ccRecipients[] |
list of strings Desativado por padrão. A lista de endereços de e-mail de destinatários em "CC:" atualmente incluídos em um rascunho do complemento. Para ativar esse campo, defina o campo addOns.gmail.composeTrigger.draftAccess no manifesto como
METADATA .
|
gmail.messageId |
string O ID da mensagem do Gmail aberta no momento. |
gmail.threadId |
string O ID da conversa do Gmail aberta no momento. |
gmail.toRecipients[] |
list of strings Desativado por padrão. A lista de endereços de e-mail de destinatários em "Para:" atualmente incluídos em um rascunho do complemento. Para ativar esse campo, defina o campo addOns.gmail.composeTrigger.draftAccess no manifesto como
METADATA .
|
Objeto de evento dos Documentos
O objeto de evento dos Documentos é a parte do objeto de evento geral que carrega informações sobre o documento de um usuário e o conteúdo dele. Ele só estará presente em um objeto de evento se o aplicativo host for Documentos Google.
Objeto de evento dos Documentos | |
---|---|
docs.id |
string Presente apenas se o escopo
https://www.googleapis.com/auth/drive.file tiver sido
autorizado pelo usuário.O ID do documento aberto na IU dos Documentos Google. |
docs.title |
string Presente apenas se o escopo
https://www.googleapis.com/auth/drive.file tiver sido
autorizado pelo usuário.O título do documento aberto na IU do Documentos. |
docs.addonHasFileScopePermission |
boolean Se o valor for true , significa que o complemento solicitou
e recebeu uma autorização de escopo de https://www.googleapis.com/auth/drive.file
para o documento aberto na IU dos Documentos. Caso contrário, o
campo será false .
|
docs.matchedUrl.url |
string
Presente apenas se as seguintes condições forem atendidas:
O URL do link que gera uma visualização no Documentos Google. Para usar este campo, configure o LinkPreviewTriggers no manifesto do complemento. Saiba mais em Visualizar links no Documentos Google.
Exemplo de payload para quando um usuário visualiza o link "docs" : { "matchedUrl" : { "url" : "https://www.example.com/12345" } } |
Objeto de evento das Planilhas
O objeto de evento do Planilhas é a parte do objeto de evento geral que carrega informações sobre o documento de um usuário e o conteúdo dele. Ele só estará presente em um objeto de evento se o aplicativo host for o Planilhas Google.
Objeto de evento das Planilhas | |
---|---|
sheets.id |
string Presente apenas se o escopo
https://www.googleapis.com/auth/drive.file tiver sido
autorizado pelo usuário. O ID da planilha aberta na IU do Planilhas.
|
sheets.title |
string Presente apenas se o escopo
https://www.googleapis.com/auth/drive.file tiver sido
autorizado pelo usuário. O título da planilha é aberto na IU do Planilhas.
|
sheets.addonHasFileScopePermission |
boolean Se o valor for true , significa que o complemento solicitou
e recebeu uma autorização de escopo de https://www.googleapis.com/auth/drive.file
para a planilha aberta na IU do Planilhas. Caso contrário,
o campo será false .
|
Objeto de evento das Apresentações
O objeto de evento das Apresentações é a parte do objeto de evento geral que carrega informações sobre o documento de um usuário e o conteúdo dele. Ele só estará presente em um objeto de evento se o aplicativo host for o Apresentações Google.
Objeto de evento das Apresentações | |
---|---|
slides.id |
string Presente apenas se o escopo
https://www.googleapis.com/auth/drive.file tiver sido
autorizado pelo usuário. O ID da apresentação aberta na IU das Apresentações.
|
slides.title |
string Presente apenas se o escopo
https://www.googleapis.com/auth/drive.file tiver sido
autorizado pelo usuário. O título da apresentação é aberto na IU das Apresentações.
|
slides.addonHasFileScopePermission |
boolean Se o valor for true , o complemento solicitou
e recebeu uma autorização de escopo de https://www.googleapis.com/auth/drive.file
para a apresentação aberta na IU das Apresentações. Caso contrário,
o campo será false .
|