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 da Agenda. Isso permite que você forneça ao usuário informações adicionais 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 interface do complemento

Dependendo de como é 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 as três:

  • Se um usuário clicar no ícone do complemento enquanto estiver na visualização de calendário, o complemento vai executar a função calendar.homepageTrigger correspondente (se presente). 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á mostrado.
  • Se o usuário abrir um evento do Google Agenda e clicar no ícone do complemento ou se o complemento estiver aberto quando o usuário abrir um evento, o complemento vai executar a função eventOpenTrigger correspondente (se presente). Essa função cria a interface do evento da agenda do complemento e retorna ao Google Agenda para exibição.
  • Se o complemento define uma função eventAttachmentTrigger, ele aparece como um provedor de anexos quando o usuário clica 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.

Como criar a interface do complemento da Agenda

Para estender o Google Agenda com um complemento do Google Workspace, siga estas etapas:

  1. Decida se o complemento vai ter uma página inicial específica para o Google Agenda. Também decida se você quer fornecer uma interface personalizada enquanto o usuário está editando eventos da Agenda.
  2. Adicione os campos addOns.common e addOns.calendar adequados ao manifesto do projeto de script complementar, incluindo todos os escopos necessários.
  3. Se você estiver fornecendo uma página inicial específica para o Google Agenda, implemente a função calendar.homepageTrigger para criar essa interface. Também é possível usar a interface common.homepageTrigger para vários hosts do Google Workspace.
  4. Se você estiver fornecendo uma interface de evento de agenda, será necessário implementar uma função calendar.eventOpenTrigger para criar essa interface. Consulte Como estender a interface de eventos do Google Agenda para saber mais.
  5. Implemente as funções de callback associadas necessárias para responder às interações da interface do usuário, como cliques em botões.

Páginas iniciais da agenda

O Google Agenda oferece suporte para mostrar as páginas iniciais dos 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 da Agenda.

Em ambos os casos, é necessário fornecer o nome de uma função de gatilho da página inicial no projeto de script do seu complemento. Essa função é chamada automaticamente para criar a página inicial do Google Agenda quando necessário. É necessário implementar essa função para criar e retornar um único objeto 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 criação da página inicial.

Como estender a interface de eventos da Agenda

O Google Agenda usa um acionador contextual para determinar qual interface (se houver) será exibida quando o usuário editar um evento da Agenda. Quando o acionador é acionado, ele executa a função de acionador 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 um argumento e precisa retornar um único objeto Card ou uma matriz de objetos Card para que o Google Agenda seja exibido enquanto o usuário tem 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 do Google Agenda. A função de acionamento pode usar as informações neste objeto de evento para determinar como criar cards de complemento ou controlar o comportamento do complemento. 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 Google Agenda é o app host do complemento, o acionador contextual e os objetos de evento de interação com o widget incluem o campo objeto de evento da Agenda que carrega informações do cliente específicas da Agenda.

Como atualizar eventos da agenda

Além do evento contextual calendar.eventOpenTrigger que é acionado quando um usuário abre um evento da Agenda para edição, você também pode definir um evento calendar.eventUpdateTrigger que é acionado quando o usuário atualiza e salva um evento da Agenda. Esse acionador 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 acionador é acionado, ele executa a função de acionador especificada pelo campo de manifesto calendar.eventUpdateTrigger. A função é executada antes que a edição do evento da Agenda seja salva.

O calendar.eventUpdateTrigger geralmente é usado para fazer uma ou mais das seguintes ações:

  • Atualize a interface do evento 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 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 escopo https://www.googleapis.com/auth/calendar.addons.current.event.write.

Adicionar soluções de videoconferência

As soluções de videoconferência são opções de terceiros que os usuários podem anexar aos eventos do Google Agenda. A documentação Visão geral de conferências de terceiros oferece 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 aparecem como opções no menu suspenso da interface do evento do Google Agenda.