Como criar as interfaces do Google Agenda

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ção calendar.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ção eventAttachmentTrigger 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:

  1. 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.
  2. Adicione os campos addOns.common e addOns.calendar apropriados ao manifesto do projeto de script do complemento, incluindo os escopos necessários.
  3. 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 interface common.homepageTrigger para vários hosts do Google Workspace.
  4. 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.
  5. 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.