Crie complementos do Google Workspace no Cloud Functions usando o ambiente de execução do Node.js.
Objetivos
- Configurar o ambiente.
- Crie e implante uma Função do Cloud.
- Crie e implante o complemento.
- Instale o complemento.
Pré-requisitos
- Um projeto do Google Cloud.
- Verifique se você ativou o faturamento do projeto do Cloud. Saiba como verificar o status de faturamento dos projetos.
- o SDK do Cloud configurado com o projeto do Cloud;
Configurar o ambiente
Abra seu projeto do Cloud no Console do Google Cloud
- No Console do Google Cloud, acesse a página Selecionar um projeto.
- Selecione o projeto do Google Cloud que você quer usar. Também é possível clicar em Criar projeto e seguir as instruções na tela. Se você criar um projeto do Google Cloud, talvez seja necessário ativar o faturamento do projeto.
Configurar a tela de permissão OAuth
Os complementos do Google Workspace exigem uma configuração da tela de consentimento. A configuração da tela de consentimento OAuth do complemento define o que o Google exibe aos usuários.
- No Console do Google Cloud, acesse Menu > APIs e serviços > Tela de consentimento OAuth.
- Selecione o tipo de usuário do seu app e clique em Criar.
- Preencha o formulário de registro do app e clique em Save and Continue.
Por enquanto, você pode pular a adição de escopos e clicar em Salvar e continuar. No futuro, ao criar um app para uso fora da sua organização do Google Workspace, será necessário adicionar e verificar os escopos de autorização exigidos.
- Se você tiver selecionado Externo para o tipo de usuário, adicione usuários de teste:
- Em Testar usuários, clique em Adicionar usuários.
- Insira seu endereço de e-mail e outros usuários de teste autorizados e clique em Salvar e continuar.
- Analise o resumo do registro do seu aplicativo. Para fazer alterações, clique em Editar. Se o registro do aplicativo estiver correto, clique em Voltar para o painel.
Crie e implemente uma Função do Cloud
Em um terminal local, ative o Cloud Functions, o Cloud Build e a API de complementos do Google Workspace:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
Em um diretório vazio, crie o arquivo
function.js
com o seguinte código de amostra:/** * Cloud Function that loads the homepage for a * Google Workspace Add-on. * * @param {Object} req Request sent from Google * @param {Object} res Response to send back */ exports.loadHomePage = function addonsHomePage (req, res) { res.send(createAction()); }; /** Creates a card with two widgets. */ function createAction() { return { "action": { "navigations": [ { "pushCard": { "header": { "title": "Cats!" }, "sections": [ { "widgets": [ { "textParagraph": { "text": "Your random cat:" } }, { "image": { "imageUrl": "https://cataas.com/cat" } } ] } ] } } ] } }; }
Implante a função:
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
Se solicitado, especifique que não permita invocações não autenticadas da função. Pode levar alguns minutos para a função ser implantada.
Criar uma implantação de complementos
Encontre o e-mail da conta de serviço do complemento:
gcloud workspace-add-ons get-authorization
Conceda à conta de serviço o papel
cloudfunctions.invoker
:gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
Consiga o URL da função implantada. Para ver o URL, execute o seguinte comando e procure o campo
url
na seçãohttpsTrigger
:gcloud functions describe loadHomePage
Crie o arquivo
deployment.json
com o seguinte código de amostra. SubstituaURL
pelo URL da função implantada da etapa anterior.{ "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.execute"], "addOns": { "common": { "name": "My HTTP Add-on", "logoUrl": "https://raw.githubusercontent.com/webdog/octicons-png/main/black/beaker.png", "homepageTrigger": { "runFunction": "URL" } }, "gmail": {}, "drive": {}, "calendar": {}, "docs": {}, "sheets": {}, "slides": {} } }
Crie a implantação:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Instalar o complemento
Instale a implantação no modo de desenvolvimento:
gcloud workspace-add-ons deployments install quickstart
Abra ou atualize o Gmail para ver o complemento. Na barra de ferramentas à direita, procure um ícone de copo.
Clique no ícone para abrir o complemento. Se solicitado, autorize o complemento.
Opcional: limpar
Para evitar cobranças na sua conta, exclua os recursos criados:
Desinstale o complemento da Conta do Google:
gcloud workspace-add-ons deployments uninstall quickstart
Para evitar cobranças pelos recursos usados neste guia de início rápido, exclua o projeto do Cloud:
gcloud projects delete PROJECT_ID
Substitua PROJECT_ID pelo ID do projeto do Cloud usado para o guia de início rápido. Encontre o ID do projeto do Cloud no Console do Google Cloud na página do Painel.
Próximas etapas
Para adicionar mais funcionalidades ao complemento do Google Workspace, consulte os seguintes guias: