Criar um guia de início rápido do complemento do Google Workspace

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

Configurar o ambiente

Abra seu projeto do Cloud no Console do Google Cloud

  1. No Console do Google Cloud, acesse a página Selecionar um projeto.

    Selecionar um projeto do Cloud

  2. 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.

  1. No Console do Google Cloud, acesse Menu > APIs e serviços > Tela de consentimento OAuth.

    Acessar a tela de permissão OAuth

  2. Selecione o tipo de usuário do seu app e clique em Criar.
  3. Preencha o formulário de registro do app e clique em Save and Continue.
  4. 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.

  5. Se você tiver selecionado Externo para o tipo de usuário, adicione usuários de teste:
    1. Em Testar usuários, clique em Adicionar usuários.
    2. Insira seu endereço de e-mail e outros usuários de teste autorizados e clique em Salvar e continuar.
  6. 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

  1. 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
    
  2. 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"
                         }
                      }
                    ]
                  }
                ]
              }
            }
          ]
        }
      };
    }
    
  3. 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

  1. Encontre o e-mail da conta de serviço do complemento:

    gcloud workspace-add-ons get-authorization
    
  2. 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
    
  3. Consiga o URL da função implantada. Para ver o URL, execute o seguinte comando e procure o campo url na seção httpsTrigger:

    gcloud functions describe loadHomePage
    
  4. Crie o arquivo deployment.json com o seguinte código de amostra. Substitua URL 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": {}
      }
    }
    
  5. Crie a implantação:

    gcloud workspace-add-ons deployments create quickstart \
        --deployment-file=deployment.json
    

Instalar o complemento

  1. Instale a implantação no modo de desenvolvimento:

    gcloud workspace-add-ons deployments install quickstart
    
  2. Abra ou atualize o Gmail para ver o complemento. Na barra de ferramentas à direita, procure um ícone de copo.

  3. 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:

  1. Desinstale o complemento da Conta do Google:

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. 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: