Esta página explica como criar um complemento do Google Workspace que permite que
os usuários do Documentos Google criem recursos, como um caso de suporte ou uma tarefa de projeto,
em um serviço de terceiros no Documentos Google.
Com um complemento do Google Workspace, você pode adicionar seu serviço ao menu "@" nos Documentos. O complemento adiciona itens de menu que permitem que os usuários criem
recursos no seu serviço usando uma caixa de diálogo de formulário nos Documentos.
Como os usuários criam recursos
Para criar um recurso no seu serviço em um documento do Google Docs, os usuários
digitam @ em um documento e selecionam seu serviço no menu @:
Quando os usuários digitam @ em um documento e selecionam seu serviço, você mostra a eles
um card que inclui as entradas de formulário necessárias para criar um
recurso. Depois que o usuário envia o formulário de criação de recursos, o complemento precisa
criar o recurso no serviço e gerar um URL que aponte para ele.
O complemento insere um ícone
no documento para o recurso criado. Quando os usuários mantêm o ponteiro sobre
esse ícone, ele invoca o acionador de visualização de link associado ao complemento. Verifique se o complemento insere ícones com padrões de link aceitos pelos acionadores de visualização de link.
Para configurar a criação de recursos, especifique as seguintes seções e campos no
manifesto do complemento:
Na seção addOns do campo docs, implemente o gatilho createActionTriggers que inclui um runFunction. Você define
essa função na seção a seguir, Criar os cards de formulário.
No campo oauthScopes, adicione o escopo
https://www.googleapis.com/auth/workspace.linkcreate para que os usuários possam
autorizar o complemento a criar recursos.
Especificamente, esse escopo permite que o
complemento leia as informações que os usuários enviam para
o formulário de criação de recursos e insira um ícone inteligente no
documento com base nessas informações.
Como exemplo, consulte a seção addons de um manifesto que configura
a criação de recursos para o seguinte serviço de caso de suporte:
{"oauthScopes":["https://www.googleapis.com/auth/workspace.linkpreview","https://www.googleapis.com/auth/workspace.linkcreate"],"addOns":{"docs":{"linkPreviewTriggers":[...],"createActionTriggers":[{"id":"createCase","labelText":"Create support case","localizedLabelText":{"es":"Crear caso de soporte"},"runFunction":"createCaseInputCard","logoUrl":"https://www.example.com/images/case.png"}]}}}
No exemplo, o complemento do Google Workspace permite que os usuários criem casos de suporte.
Cada acionador createActionTriggers precisa ter os seguintes
campos:
Um ID exclusivo
Um rótulo de texto que aparece no menu "Documentos"
Um URL de logotipo que aponta para um ícone que aparece ao lado do texto do rótulo no
menu @
Uma função de callback que faz referência a uma função do Apps Script ou a um endpoint HTTP que retorna um card
Criar os cards do formulário
Para criar recursos no seu serviço no menu @
do Documentos, é necessário implementar todas as funções
especificadas no objeto createActionTriggers.
Quando um usuário interage com um dos itens do menu, o gatilho
createActionTriggers correspondente é acionado, e a função de callback apresenta um card
com entradas de formulário para criar o recurso.
Elementos e ações aceitos
Para criar a interface do card, use widgets para mostrar informações e entradas
que os usuários precisam para criar o recurso. A maioria dos widgets e ações
de complementos do Google Workspace são compatíveis com as seguintes exceções:
Não é possível usar rodapés de cartão.
Não há suporte para notificações.
Para navegações, somente a navegação updateCard é aceita.
Exemplo de card com entradas de formulário
O exemplo a seguir mostra uma função de callback do Apps Script
que exibe um card quando um usuário seleciona Create support case no
menu @:
A função createCaseInputCard renderiza o seguinte card:
O card inclui entradas de texto, um menu suspenso e uma caixa de seleção. Ele também tem um
botão de texto com uma ação onClick que executa outra função para
processar o
envio do formulário de criação.
Depois que o usuário preenche o formulário e clica em
Criar, o complemento envia as entradas do formulário para a função de ação onClick,
chamada de submitCaseCreationForm no nosso exemplo. Nesse ponto, o complemento pode validar as entradas e usá-las para
criar o recurso no serviço de terceiros.
Processar envios de formulário
Depois que um usuário envia o formulário de criação, a função associada à ação
onClick é executada. Para uma experiência ideal do usuário, seu
complemento precisa processar
envios de formulários bem-sucedidos e com erros.
Processar a criação de recursos bem-sucedida
A função onClick do seu complemento precisa criar o
recurso no serviço de terceiros e gerar um URL que aponte para ele.
Para comunicar o URL do recurso de volta aos Documentos
para a criação de ícones, a função onClick precisa retornar um SubmitFormResponse
com uma matriz de um elemento em renderActions.action.links que aponta para um
link. O título do link precisa representar o título do recurso criado, e o
URL precisa apontar para esse recurso.
O exemplo a seguir mostra uma SubmitFormResponse para um recurso criado:
Depois que o SubmitFormResponse é retornado, a caixa de diálogo modal é fechada e o
complemento insere um ícone no documento.
Quando os usuários mantêm o ponteiro sobre esse ícone, ele invoca o acionador de visualização
de link associado. Verifique se o complemento não insere ícones com padrões de link que não são compatíveis com os acionadores de visualização de link.
Solucionar erros
Se um usuário tentar enviar um formulário com campos inválidos, em vez de retornar um
SubmitFormResponse com um link, o complemento vai
retornar uma ação de renderização que mostra um erro usando uma navegação updateCard.
Isso permite que o usuário veja o que fez
errado e tente novamente. Consulte
updateCard(card)
para
o Apps Script e updateCard
para outros ambientes de execução. As notificações e as navegações pushCard não são compatíveis.
Exemplo de tratamento de erros
O exemplo a seguir mostra o código que é invocado quando um usuário envia o
formulário. Se as entradas forem
inválidas, o cartão será atualizado e mostrará mensagens de erro. Se as entradas forem válidas,
o complemento vai retornar um SubmitFormResponse com um
link para o recurso criado.
O exemplo a seguir mostra um complemento do Google Workspace que mostra uma prévia de links
para os casos de suporte de uma empresa e permite que os usuários criem casos de suporte no
Documentos Google.
O exemplo faz o seguinte:
Gera um card com campos de formulário para criar um caso de suporte no menu Docs @.
Valida as entradas de formulário e retorna mensagens de erro para entradas inválidas.
Insere o nome e o link do caso de suporte criado no
documento do Documentos como um ícone inteligente.
Mostra uma prévia do link do caso de suporte, como
https://www.example.com/support/cases/1234. O ícone inteligente mostra um ícone, e o card de visualização inclui o nome, a prioridade e a descrição do caso.
[null,null,["Última atualização 2025-02-14 UTC."],[[["This guide details building a Google Workspace add-on to create and manage external resources (like support cases) directly within Google Docs."],["Users can create resources via a form within Docs, which then inserts a smart chip linking to the resource in the external service."],["The add-on requires configuration in the manifest file and utilizes Apps Script, Node.js, Python, or Java for development."],["Comprehensive code samples are provided to guide developers through card creation, form submission, and error handling."],["Smart chips representing the created resources offer link previews, enhancing user experience and information access."]]],[]]