Crie complementos do Google Workspace no Cloud Functions usando o ambiente de execução do Node.js que funciona no Gmail, Google Drive, Google Agenda, Documentos Google, Planilhas Google e Apresentações Google.
Objetivos
- Prepare o ambiente.
- Crie e implante uma função do Cloud.
- Crie e implante o complemento.
- Instale o complemento.
Pré-requisitos
- Verifique se o faturamento está ativado para seu projeto do Cloud. Saiba como verificar o status de faturamento dos seus projetos. 
- O SDK do Cloud está 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. Ou clique em Criar projeto e siga as instruções na tela. Se você criar um projeto do Google Cloud, talvez seja necessário ativar o faturamento dele.
Configurar a tela de permissão OAuth
Os complementos do Google Workspace exigem uma configuração de tela de consentimento. Configurar a tela de permissão OAuth do complemento define o que o Google mostra aos usuários.
- No console do Google Cloud, acesse Menu > Google Auth platform > Branding.
- Se você já tiver configurado o Google Auth platform, poderá definir as seguintes configurações da tela de permissão do OAuth em Branding, Público-alvo e Acesso a dados. Se você receber uma mensagem informando que Google Auth platform ainda não foi configurado, clique em Começar:
- Em Informações do app, no campo Nome do app, insira um nome para o app.
- Em E-mail para suporte do usuário, escolha um endereço de e-mail para que os usuários entrem em contato com você se tiverem dúvidas sobre o consentimento deles.
- Clique em Próxima.
- Em Público-alvo, selecione Interno.
- Clique em Próxima.
- Em Informações de contato, insira um Endereço de e-mail para receber notificações sobre mudanças no seu projeto.
- Clique em Próxima.
- Em Concluir, leia a Política de dados do usuário dos serviços de API do Google e, se concordar, selecione Concordo com a Política de dados do usuário dos serviços de API do Google.
- Clique em Continuar.
- Clique em Criar.
- Por enquanto, você pode pular a adição de escopos. No futuro, quando você criar um app para uso fora da sua organização do Google Workspace, mude o Tipo de usuário para Externo. Em seguida, adicione os escopos de autorização necessários para o app. Para saber mais, consulte o guia completo Configurar a permissão OAuth.
Crie e implemente uma Função do Cloud
- No console do Google Cloud, clique em Ativar o Cloud Shell - . - O terminal do Cloud Shell é aberto e inicia uma sessão no painel da parte de baixo do console do Google Cloud. 
- Clique em Autorizar para provisionar e se conectar ao Cloud Shell. 
- No terminal do Cloud Shell, ative as APIs Cloud Functions, Cloud Build, Google Workspace Add-ons e Compute Engine: - gcloud services enable cloudfunctions.googleapis.com \ cloudbuild.googleapis.com \ gsuiteaddons.googleapis.com \ compute.googleapis.com
- Clique em  Abrir editor na
barra de ferramentas da janela do Cloud Shell para iniciar o editor. Abrir editor na
barra de ferramentas da janela do Cloud Shell para iniciar o editor.- Esse editor de código integrado oferece a conveniência de visualizar e editar arquivos no mesmo ambiente em que os projetos são criados e implantados. 
- No diretório vazio, crie o arquivo - function.jscom 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" } } ] } ] } } ] } }; }
- No mesmo diretório, crie o arquivo - package.jsoncom o seguinte código de exemplo:- { "dependencies": { "@google-cloud/functions-framework": "^3.0.0" } }
- Volte ao terminal do Cloud Shell clicando em - Abrir terminal. 
- Adicione o papel - Cloud Build Service Account(- roles/cloudbuild.builds.builder) à conta de serviço padrão do Compute Engine.- Primeiro, configure a permissão da conta de serviço: - export PROJECT_ID=$(gcloud config get project) export SERVICE_ACCOUNT_NAME=$(gcloud compute project-info describe \ --format="value(defaultServiceAccount)")- Em seguida, conceda a permissão ausente da conta de serviço: - gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \ --role="roles/cloudbuild.builds.builder"
- Execute o seguinte comando para implantar a função: - gcloud functions deploy loadHomePage --runtime nodejs22 --trigger-http- Se solicitado, especifique que você não permite invocações não autenticadas da função. A implantação da função pode levar alguns minutos. 
Criar uma implantação de complemento
- 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. Substitua SERVICE_ACCOUNT_EMAIL pelo campo- serviceAccountEmailda etapa anterior.- gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
- Receba o URL da função implantada. Para acessar o URL, execute o seguinte comando e procure o campo - urlna seção- httpsTrigger:- gcloud functions describe loadHomePage
- Volte ao editor do Cloud Shell clicando em  Abrir editor. Abrir editor.
- No mesmo diretório que - package.json, crie o arquivo- deployment.jsoncom o seguinte exemplo de código. Substitua URL pelo- urlda função implantada na 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": {}, "httpOptions": { "granularOauthPermissionSupport": "OPT_IN" } } }
- Volte ao terminal do Cloud Shell para criar 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 béquer. 
- 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 sua 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 que você usou no guia de início rápido. Encontre o ID do projeto do Cloud no console do Google Cloud, na página "Painel". 
Temas relacionados
Para adicionar mais recursos ao complemento do Google Workspace, consulte o seguinte:
- Criar um complemento do Google Workspace usando endpoints HTTP
- Codelab: crie um complemento do Google Workspace com Node.js e o Cloud Run
- Visualizar links com ícones inteligentes