Como criar interfaces do Google Drive

Os complementos do Google Workspace podem fornecer interfaces personalizadas quando o usuário está usando o Google Drive. Assim, você pode fornecer ao usuário informações relevantes adicionais, automatizar tarefas e conectar sistemas de terceiros ao Google Drive.

Como acessar a interface do complemento

É possível abrir um complemento do Google Workspace no Google Drive se o ícone dele aparecer na coluna de ícones do lado direito da interface do usuário do Drive. Um complemento do Google Workspace pode definir uma interface de página inicial, uma interface de seleção de itens ou ambas:

  • Se um usuário clicar no ícone do complemento no Google Drive, o complemento vai executar a função drive.homepageTrigger correspondente (se presente). Essa função cria e retorna um card da página inicial para exibição no Google Drive. Se nenhuma função drive.homepageTrigger for definida, um card genérico da página inicial será mostrado.
  • Se o usuário selecionar um ou mais itens no Google Drive e clicar no ícone do complemento ou selecionar itens enquanto o complemento estiver aberto, o complemento vai executar a função contextual drive.onItemsSelectedTrigger correspondente (se presente). Essa função cria a interface contextual "itens selecionados" do Google Drive do complemento e a retorna para exibição.

Criar a interface do complemento do Drive

Para criar interfaces que estendem o Google Drive, siga estas etapas gerais:

  1. Decida se o complemento vai ter uma página inicial específica do Drive. Também decida se você quer fornecer uma interface contextual para quando o usuário selecionar itens do Drive.
  2. Adicione os campos addOns.common e addOns.drive apropriados ao manifesto do projeto de script complementar, incluindo todos os escopos do Drive necessários.
  3. Se você estiver fornecendo uma página inicial específica do Drive, implemente a função drive.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 seleção de itens contextuais do Drive, será necessário implementar uma função de gatilho contextual drive.onItemsSelectedTrigger para criar essa interface. Consulte Interface contextual do Drive para itens selecionados 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 em botões.

Páginas iniciais do Drive

O Google Drive oferece suporte para mostrar as páginas iniciais dos complementos do Google Workspace. Para mostrar a página inicial comum do complemento no Google Drive, basta verificar se há um campo addOns.drive no manifesto do complemento.

Como alternativa, adicione um drive.homepageTrigger ao manifesto do complemento para fornecer uma página inicial específica do Drive.

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 Drive quando necessário. É necessário 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 criação da página inicial.

Gerar interface contextual para itens selecionados

O Google Drive usa um acionador contextual para determinar qual interface (se houver) será exibida quando o usuário selecionar um ou mais itens do Google Drive. Quando o gatilho é acionado, ele executa a função de gatilho contextual especificada pelo campo drive.onItemsSelectedTrigger.runFunction no manifesto do complemento.

Para criar uma interface de seleção de itens contextuais para o Drive, faça o seguinte:

  1. O manifesto do complemento precisa incluir o escopo https://www.googleapis.com/auth/drive.addons.metadata.readonly.

  2. Verifique se o manifesto inclui uma seção drive.onItemsSelectedTrigger.

  3. Implemente a função nomeada no campo drive.onItemsSelectedTrigger. Essa função aceita um objeto de evento como argumento e precisa retornar um único objeto Card ou uma matriz de objetos Card.

  4. Como em qualquer card, é preciso implementar todas as funções de callback usadas para fornecer interatividade do widget para a interface. Por exemplo, se você incluir um botão na interface, ele precisará ter uma ação e uma função de callback implementada que serão executadas quando o botão for clicado.

Objetos de evento

Um objeto de evento é criado e transmitido à função de acionamento drive.homepageTrigger ou drive.onItemsSelectedTrigger quando essas funções são chamadas. A função do acionador pode usar as informações neste objeto de evento para determinar como criar cards de complementos ou controlar o comportamento do complemento.

A estrutura completa dos objetos de evento é descrita em Objetos de evento. Quando o Drive é o app host do complemento, os objetos de eventos contextuais incluem o campo objeto de evento do Drive que carrega informações do cliente específicas do Drive.

Os objetos de evento do Drive contextual para acionadores de seleção de itens incluem informações sobre os itens que o usuário selecionou quando o acionador foi acionado. Quando um usuário seleciona mais de um item no Drive, um deles é considerado de interesse principal. Esse item é chamado de item do cursor ativo.

O exemplo a seguir mostra um objeto de evento do Drive que é transmitido para uma função drive.onItemsSelectedTrigger:

    {
      "commonEventObject": { ... },
      "drive": {
        "activeCursorItem":{
          "addonHasFileScopePermission": true,
          "id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
          "iconUrl": "https://drive-thirdparty.googleusercontent.com...",
          "mimeType":"application/pdf",
          "title":"How to get started with Drive"
        },
        "selectedItems": [
          {
            "addonHasFileScopePermission": true,
            "id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
            "iconUrl":"https://drive-thirdparty.googleusercontent.com...",
            "mimeType":"application/pdf",
            "title":"How to get started with Drive"
          },
          ...
        ]
      },
      ...
    }