Os complementos do Google Workspace podem fornecer interfaces personalizadas quando o usuário está visualizando ou editando agendas e eventos da 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 abre um evento do Google Agenda.
Como acessar a interface do complemento
Dependendo de como é aberto, um complemento do Google Workspace pode definir uma interface de página inicial, uma interface de eventos do Google Agenda, uma interface de seleção de anexos ou as três opções a seguir:
- Se um usuário clicar no ícone do complemento enquanto estiver em uma visualização da agenda, o complemento executará
a função
calendar.homepageTrigger
correspondente (se houver). Essa função cria e retorna um cartão de página inicial para o Google Agenda para exibição. Se nenhuma funçãocalendar.homepageTrigger
for definida, um card genérico de página inicial será exibido. - Se o usuário abrir um evento da Agenda e clicar no ícone do complemento, ou se o complemento for aberto quando o usuário abrir um evento, o complemento executará a função
eventOpenTrigger
correspondente (se houver). Essa função cria a interface de eventos 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.
Como criar a interface de complementos do 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 Agenda. Decida também se você quer oferecer uma interface personalizada enquanto o usuário edita eventos do Google Agenda.
- Adicione os campos
addOns.common
eaddOns.calendar
adequados ao manifesto do projeto de script de 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. Também é possível usar a interfacecommon.homepageTrigger
para vários hosts do Google Workspace. - Se você estiver disponibilizando uma interface de eventos da Agenda, implemente uma função
calendar.eventOpenTrigger
para criar essa interface. Consulte Como estender a interface de eventos do Agenda para mais detalhes. - Implemente as funções de callback associadas necessárias para responder às interações da interface do usuário, como cliques no botão.
Páginas iniciais do Google Agenda
O Google Agenda é compatível com a exibição de páginas iniciais de complementos do Google Workspace.
Para mostrar a página inicial comum do complemento no Google Agenda, basta verificar 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 do Agenda.
Em ambos os casos, é preciso 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. Implemente 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 acionador 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. Você pode usar os dados do objeto de evento para personalizar a construção da página inicial.
Estender a interface de eventos do Agenda
O Google Agenda usa um gatilho contextual para determinar qual interface
(se houver) exibir quando o usuário editar um evento da agenda. Quando o acionador
é disparado, ele executa a função de gatilho contextual especificada pelo campo
calendar.eventOpenTrigger
no manifesto do complemento.
É necessário implementar a função nomeada no
campo
calendar.eventOpenTrigger
. Essa função aceita um objeto de evento como argumento e precisa retornar um único objeto Card
ou uma matriz de objetos Card
para que o Agenda exiba enquanto o usuário estiver com o evento aberto.
Objetos de evento
Um objeto de evento é criado e
transmitido para a função de gatilho contextual
calendar.eventOpenTrigger
quando um usuário abre
um evento da agenda. A função do acionador pode usar as informações nesse objeto
de evento para determinar como criar cards de complementos ou controlar o comportamento
dos complementos. Os objetos de evento também são criados e transmitidos para as 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 o Agenda é o app host de ação do complemento, o gatilho contextual e os objetos de evento de interação de widget incluem o campo objeto de evento da agenda que carrega informações de cliente específicas do Agenda.
Atualizar eventos do Google Agenda
Além da
calendar.eventOpenTrigger
contextual que é disparada quando um usuário abre
um evento da Agenda para edição, também é possível definir uma
calendar.eventUpdateTrigger
que será disparada quando o usuário atualizar e salvar um evento. Esse acionador só
será disparado se o usuário fizer uma ou mais das seguintes edições:
- Adiciona um ou mais convidados.
- Remove um ou mais convidados.
- Adiciona ou muda para outra solução de videoconferência.
Quando o acionador é disparado, ele executa a função especificada pelo campo do manifesto calendar.eventUpdateTrigger
. A função é executada antes que a edição do evento da Agenda seja
salva.
O calendar.eventUpdateTrigger
costuma ser usado para realizar um ou mais dos seguintes procedimentos:
- Atualizar a interface de eventos da Agenda do complemento em resposta a mudanças do usuário no evento do Agenda.
- sincronizar dados de eventos da Agenda com um sistema de terceiros, como um sistema de videoconferência conectado ao Google Agenda;
Se você precisar que o complemento faça ajustes nos dados de um evento do Agenda (como
a lista de participantes), defina o campo do manifesto
calendar.currentEventAccess
do complemento como WRITE
ou READ_WRITE
. Isso também
exige que o complemento tenha o
escopo
https://www.googleapis.com/auth/calendar.addons.current.event.write
.
Adicionar soluções de conferência
As soluções de conferência representam opções de videoconferência de terceiros que os usuários podem anexar aos eventos do Google Agenda. A documentação Visão geral de videoconferência de terceiros mostra detalhes sobre como criar um complemento que adiciona novas soluções de conferência. Não é necessário criar uma interface para esse tipo de extensão. As soluções adicionadas simplesmente aparecem como opções no menu suspenso da interface de eventos do Google Agenda.