Os complementos do Google Workspace podem oferecer interfaces personalizadas quando o usuário vê ou edita agendas e eventos da agenda. Isso permite que você forneça ao usuário mais informações relevantes, automatize tarefas e conecte 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.
Como acessar a IU do complemento
Dependendo de como ele é aberto, um complemento do Google Workspace pode definir uma interface de página inicial, uma interface de evento do Google Agenda, uma interface de seleção de anexos ou essas três opções:
- Se um usuário clicar no ícone de complemento em uma visualização da agenda, o complemento executará
a função
calendar.homepageTrigger
correspondente, se houver. Essa função cria e retorna um card da página inicial para o Agenda para exibição. Se nenhuma funçãocalendar.homepageTrigger
for definida, um card genérico da página inicial será exibido. - Se o usuário abrir um evento do Agenda e clicar no ícone do complemento ou se o complemento estiver aberto quando o usuário abrir um evento, o complemento executará a função
eventOpenTrigger
correspondente (se presente). 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
, o complemento vai aparecer como um provedor de anexos quando o usuário clicar em Adicionar anexo ao editar um evento do Agenda. Quando o complemento é selecionado, a funçãoeventAttachmentTrigger
cria a interface de seleção de anexo do complemento e a retorna ao Google Agenda para exibição.
Criação da interface complementar 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 fornecer uma interface personalizada enquanto o usuário está editando eventos do Agenda.
- Adicione os campos apropriados
addOns.common
eaddOns.calendar
ao manifesto do projeto de script de complementos, incluindo os escopos necessários. - Se você estiver fornecendo uma
página inicial específica do 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 do Agenda, implemente uma função
calendar.eventOpenTrigger
para criá-la. Veja mais detalhes em Estender a interface de eventos do Agenda. - Implemente as funções de callback associadas necessárias para responder às interações da IU 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, confira se há
um campo addOns.calendar
no manifesto.
Como alternativa, adicione um
calendar.homepageTrigger
ao manifesto do complemento para fornecer uma página inicial específica do Agenda.
Em ambos os casos, 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. É preciso 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 gatilho 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 do evento do Agenda
O Google Agenda depende de um gatilho contextual para determinar qual interface
(se houver) será exibida quando o usuário editar um evento do Agenda. Quando o acionador
é disparado, ele executa a função de acionador contextual especificada pelo campo
calendar.eventOpenTrigger
no manifesto do complemento.
É preciso 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 o Agenda exibir enquanto o evento está aberto.
Objetos de evento
Um objeto de evento é criado e
transmitido à função de acionador contextual
calendar.eventOpenTrigger
quando um usuário abre
um evento da agenda. A função de gatilho pode usar as informações nesse objeto
de evento para determinar como criar cards de complementos ou controlar o comportamento
dos complementos. 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 de objetos de evento é descrita em Objetos de evento. Quando o Agenda é o app host do atuante do complemento, os objetos de evento de acionador contextual e widget de interação incluem o campo Objeto de evento do Agenda que carrega as informações do cliente específicas do Agenda.
Atualizar eventos da Agenda
Além do
calendar.eventOpenTrigger
contextual que é acionado quando um usuário abre
um evento do Agenda para edição, você também pode definir um
calendar.eventUpdateTrigger
que é acionado quando o usuário atualiza e salva um evento do Agenda. Esse acionador só será disparado se o usuário fizer uma ou mais das seguintes edições:
- Adiciona um ou mais participantes.
- Remove um ou mais participantes.
- Adiciona ou alterna para uma solução de videoconferência diferente.
Quando esse acionador é disparado, ele executa a
função de acionador especificada pelo
campo de manifesto
calendar.eventUpdateTrigger
. A função é executada antes de a edição do evento do Agenda ser
salva.
O calendar.eventUpdateTrigger
geralmente é usado para realizar uma ou mais das seguintes ações:
- Atualize a interface do evento do Agenda do complemento em resposta às mudanças do usuário no evento do Agenda.
- Sincronize os dados de eventos do Google 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 da agenda (como
a lista de participantes), defina o campo do manifesto
calendar.currentEventAccess
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 videoconferência
As soluções de videoconferência representam uma opção de videoconferência de terceiros que os usuários podem anexar a eventos do Google Agenda. A documentação de Visão geral de videoconferências de terceiros fornece detalhes sobre como criar um complemento que adiciona novas soluções de videoconferência. Não é necessário criar uma IU para esse tipo de extensão. Soluções adicionadas simplesmente aparecem como opções no menu suspenso da IU de evento do Google Agenda.