O Google Sheets é uma solução de folha de cálculo baseada na nuvem que suporta a colaboração em tempo real e oferece ferramentas para visualizar, processar e comunicar dados.
Este tutorial demonstra como criar e implementar um fluxo de trabalho que cria um ponto final de retorno de chamada (ou webhook), guarda o URL de retorno de chamada no Google Sheets, pausa a execução e, em seguida, aguarda a aprovação humana através da folha de cálculo do Sheets para reiniciar o fluxo de trabalho. Saiba mais sobre a utilização de retornos de chamada.
Crie uma nova pasta no Google Drive
Crie uma nova pasta no Google Drive. Esta pasta é usada para armazenar a sua folha de cálculo. Ao configurar uma autorização para a pasta partilhada, o seu fluxo de trabalho tem permissão para escrever na folha de cálculo.
- Aceda a drive.google.com.
- Clique em Novo > Nova pasta.
- Introduza um nome para a pasta.
- Clique em Criar.
- Clique com o botão direito do rato na nova pasta e selecione Partilhar.
Adicione o endereço de email da conta de serviço predefinida do Compute Engine.
Isto concede à conta de serviço acesso à pasta. Quando associa a conta de serviço ao seu fluxo de trabalho, o fluxo de trabalho tem acesso de edição a qualquer ficheiro na pasta. Saiba mais sobre a partilha de ficheiros, pastas e discos.
Selecione a função Editor.
Desmarque a caixa de verificação Notificar pessoas.
Clique em Partilhar.
Crie uma folha de cálculo com o Google Sheets
Quando cria uma folha de cálculo através do Google Sheets, esta é guardada no Google Drive. Por predefinição, a folha de cálculo é guardada na pasta raiz do Drive. Não existe uma opção para criar uma folha de cálculo diretamente numa pasta especificada através da API Google Sheets. No entanto, existem alternativas, incluindo mover a folha de cálculo para uma pasta específica depois de a criar, como é feito neste exemplo. Para mais informações, consulte o artigo Trabalhe com pastas do Google Drive.
Aceda a sheets.google.com.
Clique em Novo
.
Isto cria e abre a sua nova folha de cálculo. Cada folha de cálculo tem um valor
spreadsheetIdexclusivo, com letras, números, hífenes ou sublinhados. Pode encontrar o ID da folha de cálculo num URL do Google Sheets:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0Tome nota deste ID, pois vai precisar dele quando criar o fluxo de trabalho.
Adicione cabeçalhos de colunas de acordo com o seguinte exemplo:

Tenha em atenção que o valor na coluna G, Aprovado?, é usado para iniciar callbacks no fluxo de trabalho.
Mova a folha de cálculo para a pasta do Google Drive que criou anteriormente:
- Na folha de cálculo, selecione Ficheiro > Mover.
- Navegue até à pasta que criou.
- Clique em Mover.
Também pode usar o
conetor da API Google Sheets
para criar uma folha de cálculo. Tenha em atenção que, quando usa o conector, o elemento spreadsheetId pode ser obtido a partir do resultado resp.
Por exemplo:
- create_spreadsheet:
call: googleapis.sheets.v4.spreadsheets.create
args:
body:
connector_params:
scopes: ${driveScope}
result: resp
- assign_sheet_id:
assign:
- sheetId: ${resp.spreadsheetId}
Expanda o Google Sheets com o Apps Script
O Apps Script permite-lhe criar, ler e editar o Google Sheets de forma programática. A maioria dos scripts concebidos para o Sheets manipulam matrizes para interagir com as células, as linhas e as colunas numa folha de cálculo. Para uma introdução à utilização do Apps Script com o Google Sheets, consulte o Início rápido de funções personalizadas.
Crie um projeto do Apps Script a partir do Google Sheets:
- Abra a folha de cálculo do Sheets.
- Selecione Extensões > Apps Script.
- No editor de scripts, clique em Projeto sem título.
- Atribua um nome ao projeto e clique em Mudar o nome.
O script está agora associado à sua folha de cálculo, o que confere ao script capacidades especiais para alterar a interface do utilizador ou responder quando a folha de cálculo é aberta.
Um projeto de script representa uma coleção de ficheiros e recursos do Apps Script. Os ficheiros de código num projeto de script têm uma extensão.
.gsPode usar o Apps Script para escrever funções personalizadas que pode usar no Google Sheets tal como uma função incorporada. As funções personalizadas são criadas com JavaScript padrão. Crie uma função:
- Abra o seu projeto do Apps Script.
- Clique em Editor .
- Um ficheiro de script é apresentado como um ficheiro de projeto com o nome
Code.gs. Para editar o ficheiro, selecione-o. Substitua qualquer código no editor de scripts pelo seguinte código que lê os dados na sua folha de cálculo e transmite-os como entrada para uma execução do fluxo de trabalho:
Clique em Guardar .
Os acionadores instaláveis do Apps Script permitem que um projeto de script execute uma função especificada quando determinadas condições são cumpridas, como quando uma folha de cálculo é aberta ou editada. Crie um acionador:
- Abra o seu projeto do Apps Script.
- Clique em Acionadores .
- Clique em Adicionar acionador.
- Na caixa de diálogo Adicionar acionador para YOUR_PROJECT_NAME, configure o acionador:
- Na lista Escolha a função a executar, selecione handleEdit.
- Na lista Escolha a implementação que deve ser executada, selecione Principal.
- Na lista Selecionar origem do evento, selecione Da folha de cálculo.
- Na lista Selecionar tipo de evento, selecione Na edição.
- Na lista Definições de notificação de falhas, selecione Notificar-me diariamente.
- Clique em Guardar.
Se receber um pedido para escolher uma Conta Google, selecione a conta adequada e, de seguida, clique em Permitir.
Isto permite que o seu projeto do Apps Script veja, edite, crie e elimine as suas folhas de cálculo do Google Sheets, bem como se ligue a um serviço externo.
Um ficheiro de manifesto de um projeto do Apps Script é um ficheiro JSON que especifica informações básicas do projeto que o Apps Script precisa para executar um script com êxito. Tenha em atenção que o editor do Apps Script oculta os ficheiros de manifesto por predefinição para proteger as definições do seu projeto do Apps Script. Edite o ficheiro de manifesto:
- Abra o seu projeto do Apps Script.
- Clique em Definições do projeto .
- Selecione a caixa de verificação Mostrar ficheiro de manifesto "appsscript.json" no editor.
- Clique em Editor .
- O ficheiro de manifesto aparece como um ficheiro de projeto com o nome
appsscript.json. Para editar o ficheiro, selecione-o. O campo
oauthScopesespecifica uma matriz de strings. Para definir os âmbitos de autorização que o seu projeto usa, adicione uma matriz com os âmbitos que quer suportados. Por exemplo:{ "timeZone": "America/Toronto", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/spreadsheets" ] }
Isto define âmbitos explícitos para:
- Ligar a um serviço externo
- Ver, editar, configurar e eliminar os seus Google Cloud dados e ver o endereço de email da sua Conta Google
- Ver, editar, criar e eliminar todas as suas folhas de cálculo do Google Sheets
Clique em Guardar .
Implemente um fluxo de trabalho que escreve numa folha de cálculo e usa callbacks
Implemente um fluxo de trabalho que é executado, pausado e, em seguida, retomado quando um retorno de chamada é aprovado através de uma folha de cálculo. O fluxo de trabalho escreve numa folha de cálculo do Sheets através do conetor da API Google Sheets.
Consola
Na Google Cloud consola, aceda à página Fluxos de trabalho:
Clique em Criar.
Introduza um nome para o novo fluxo de trabalho:
workflows-awaits-callback-sheets.Na lista Região, selecione us-central1 (Iowa).
Para a Conta de serviço, selecione a conta de serviço predefinida do Compute Engine (
PROJECT_NUMBER-compute@developer.gserviceaccount.com).Clicar em Seguinte.
No editor de fluxos de trabalho, introduza a seguinte definição para o seu fluxo de trabalho:
Certifique-se de que substitui o valor do marcador de posição
sheetIdpelo seuspreadsheetId.Clique em Implementar.
gcloud
Crie um ficheiro de código-fonte para o seu fluxo de trabalho:
touch workflows-awaits-callback-sheets.yamlNum editor de texto, copie o seguinte fluxo de trabalho para o ficheiro de código-fonte:
Certifique-se de que substitui o valor do marcador de posição
sheetIdpelo seuspreadsheetId.Implemente o fluxo de trabalho introduzindo o seguinte comando:
gcloud workflows deploy workflows-awaits-callback-sheets \ --source=workflows-awaits-callback-sheets.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
Substitua
PROJECT_NUMBERpelo seu Google Cloud número do projeto. Pode obter o número do projeto:gcloud projects describe PROJECT_ID
Teste o fluxo integral
Execute o fluxo de trabalho para testar o fluxo integral. A execução de um fluxo de trabalho executa a definição do fluxo de trabalho atual associada ao fluxo de trabalho.
Consola
Na Google Cloud consola, aceda à página Fluxos de trabalho:
Na página Fluxos de trabalho, selecione o fluxo de trabalho workflows-awaits-callback-sheets para aceder à respetiva página de detalhes.
Na página Detalhes do fluxo de trabalho, clique em play_arrow Executar.
Clique novamente em Executar.
O fluxo de trabalho é iniciado e o respetivo estado de execução deve ser Em execução. Os registos também indicam que o fluxo de trabalho está em pausa e a aguardar:
Execute steps here before waiting for callback from sheets ... Started waiting for callback from sheet 1JlNFFnqs760M_KDqeeeDc_qtrABZDxoalyCmRE39dpM
Verifique se o fluxo de trabalho escreveu os detalhes da chamada de retorno numa linha da sua folha de cálculo.
Por exemplo, deve ver o ID de execução do fluxo de trabalho na coluna ID de execução, um ponto final de retorno de chamada na coluna URL de retorno de chamada e FALSE na coluna Aprovado?.
Na folha de cálculo, altere o valor FALSO para VERDADEIRO.
Após um ou dois minutos, a execução deve ser retomada e, em seguida, concluída com um estado de execução de Succeeded.
gcloud
Abra um terminal.
Execute o fluxo de trabalho:
gcloud workflows run workflows-awaits-callback-sheets
O fluxo de trabalho é iniciado e o resultado deve indicar que o fluxo de trabalho está em pausa e a aguardar:
Waiting for execution [a8361789-90e0-467f-8bd7-ea1c81977820] to complete...working.
Verifique se o fluxo de trabalho escreveu os detalhes da chamada de retorno numa linha da sua folha de cálculo.
Por exemplo, deve ver o ID de execução do fluxo de trabalho na coluna ID de execução, um ponto final de retorno de chamada na coluna URL de retorno de chamada e FALSE na coluna Aprovado?.
Na folha de cálculo, altere o valor FALSO para VERDADEIRO.
Após um ou dois minutos, a execução deve ser retomada e, em seguida, concluída com um estado de execução de
SUCCEEDED.