Os complementos do Google Workspace podem fornecer interfaces personalizadas quando o usuário está visualizando ou editando agendas e eventos do Google Agenda. Isso permite fornecer ao usuário mais informações relevantes, automatizar tarefas e conectar sistemas de terceiros ao Google Agenda.
Ao criar uma interface de complemento para o Google Agenda, você pode fornecer uma página inicial. Você pode usar a mesma página inicial para vários hosts ou criar uma específica para o Google Agenda.
Seu complemento também pode definir uma interface que aparece quando o usuário tem um evento da Agenda aberto.
Acessar a interface do complemento
Dependendo de como ele é aberto, um complemento do Google Workspace pode definir uma interface da página inicial, uma interface de evento do Google Agenda, uma interface de seleção de anexos ou todas as três:
- Se um usuário clicar no ícone do complemento em uma visualização de calendário, o complemento vai executar
a função
calendar.homepageTrigger
correspondente (se houver). Essa função cria e retorna um card da página inicial para exibição no Google Agenda. Se nenhuma funçãocalendar.homepageTrigger
for definida, um card genérico da página inicial será exibido. - Se o usuário abrir um evento da Agenda e clicar no ícone do complemento ou
se o complemento estiver aberto quando o usuário abrir um evento, ele
executará a função
eventOpenTrigger
correspondente (se houver). Essa função cria a interface de evento da Agenda do complemento e retorna ao Google Agenda para exibição. - Se o complemento definir uma função
eventAttachmentTrigger
, ele vai aparecer como um provedor de anexos quando o usuário clicar em Adicionar anexo ao editar um evento da Agenda. Quando o complemento é selecionado, a funçãoeventAttachmentTrigger
cria a interface de seleção de anexos do complemento e a retorna ao Google Agenda para exibição.
Criar a interface do complemento da Agenda
Para estender o Google Agenda com um complemento do Google Workspace, siga estas etapas:
- Decida se você quer que o complemento tenha uma página inicial específica do Google Agenda. Decida também se você quer fornecer uma interface personalizada enquanto o usuário edita eventos da Agenda.
- Adicione os campos
addOns.common
eaddOns.calendar
apropriados ao manifesto do projeto de script do complemento, incluindo os escopos necessários. - Se você estiver fornecendo uma página inicial específica do Google Agenda, implemente a função
calendar.homepageTrigger
para criar essa interface. Você também pode usar a interfacecommon.homepageTrigger
para vários hosts do Google Workspace. - Se você estiver fornecendo uma interface de evento do Google Agenda, implemente uma
função
calendar.eventOpenTrigger
para criar essa interface. Consulte Como estender a interface de eventos do Google Agenda para mais detalhes. - Implemente as funções de callback associadas necessárias para responder às interações do usuário na interface, como cliques em botões.
Páginas iniciais do Google Agenda
O Google Agenda permite mostrar as páginas iniciais dos complementos do Google Workspace.
Para mostrar a página inicial comum do complemento no Google Agenda, verifique se há um campo addOns.calendar
no manifesto do complemento.
Como alternativa, adicione um
calendar.homepageTrigger
ao manifesto do complemento para fornecer uma página inicial específica da Agenda.
Em qualquer caso, você precisa fornecer o nome de uma função de gatilho da página inicial no projeto de script do
complemento. Essa função é chamada automaticamente para criar a página inicial do Google Agenda quando necessário. Você precisa implementar essa função para criar e retornar um único Card
ou uma matriz de objetos Card
que compõem a página inicial. A função de acionamento da página inicial recebe um
objeto de evento
como um parâmetro que contém algumas informações gerais, como a plataforma do
cliente. É possível usar os dados do objeto de evento para personalizar a construção da
página inicial.
Extensão da interface de eventos da Agenda
O Google Agenda usa um gatilho contextual para determinar qual interface (se houver) mostrar quando o usuário edita um evento. Quando o gatilho
é acionado, ele executa a função de gatilho contextual especificada pelo
campo calendar.eventOpenTrigger
no manifesto do complemento.
Você precisa implementar a função nomeada no campo
calendar.eventOpenTrigger
. Essa função aceita um objeto de evento como um argumento e precisa retornar um único objeto Card
ou uma matriz de objetos Card
para que o Google Agenda mostre enquanto o usuário tiver o evento aberto.
Objetos de evento
Um objeto de evento é criado e transmitido para a função de acionamento contextual calendar.eventOpenTrigger
quando um usuário abre um evento do Google Agenda. A função de acionamento pode usar as informações desse objeto de evento para determinar como construir cards de complemento ou controlar o comportamento do complemento. Objetos de evento também são criados e transmitidos para
funções homepageTrigger
quando um complemento é aberto pela primeira vez e quando o usuário clica ou seleciona
widgets interativos.
A estrutura completa dos objetos de evento é descrita em Objetos de evento. Quando a Agenda é o app host do complemento, os objetos de evento de acionador contextual e interação de widget incluem o campo objeto de evento da Agenda que carrega informações específicas do cliente da Agenda.
Atualizar eventos da Agenda
Além do
calendar.eventOpenTrigger
contextual que é acionado quando um usuário abre
um evento da Agenda para edição, também é possível definir um
calendar.eventUpdateTrigger
que é acionado quando o usuário atualiza e salva um evento da Agenda. Esse gatilho só é acionado se o usuário fizer uma ou mais das seguintes edições:
- Adiciona um ou mais participantes.
- Remove um ou mais participantes.
- Adiciona ou muda para outra solução de videoconferência.
Quando esse gatilho é disparado, ele executa a
função de gatilho especificada pelo campo
calendar.eventUpdateTrigger
do manifesto. A função é executada antes que a edição do evento da Agenda seja
salva.
O calendar.eventUpdateTrigger
é usado para fazer uma ou mais das seguintes ações:
- Atualize a interface de eventos da agenda do complemento em resposta às mudanças feitas pelo usuário no evento da agenda.
- Sincronizar dados de eventos da Agenda com um sistema de terceiros, como um sistema de videoconferências conectado ao Google Agenda.
Se você precisar que o complemento faça ajustes nos dados de um evento do Google Agenda (como a lista de participantes), defina o campo de manifesto calendar.currentEventAccess
do complemento como WRITE
ou READ_WRITE
. Isso também
exige que o complemento tenha o
https://www.googleapis.com/auth/calendar.addons.current.event.write
escopo.
Como adicionar soluções de videoconferência
As soluções de videoconferência são opções de terceiros que os usuários podem anexar a eventos do Google Agenda. A documentação Visão geral de videoconferências de terceiros (link em inglês) explica como criar um complemento que adiciona novas soluções de videoconferência. Não é necessário criar uma interface para esse tipo de extensão. As soluções adicionadas aparecem como opções no menu suspenso da interface de eventos do Google Agenda.