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 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ção calendar.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çã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 de complementos do 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 Agenda. Decida também se você quer oferecer uma interface personalizada enquanto o usuário edita eventos do Google Agenda.
  2. Adicione os campos addOns.common e addOns.calendar adequados ao manifesto do projeto de script de 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. Também é possível usar a interface common.homepageTrigger para vários hosts do Google Workspace.
  4. 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.
  5. 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.