Criar interfaces do Google Agenda

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

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