Fogli Google è una soluzione di fogli di lavoro basata su cloud che supporta la collaborazione in tempo reale e fornisce strumenti per visualizzare, elaborare e comunicare i dati.
Questo tutorial illustra come creare ed eseguire il deployment di un flusso di lavoro che crea un endpoint di callback (o webhook), salva l'URL di callback in Fogli Google, mette in pausa l'esecuzione e attende l'approvazione da parte di un utente tramite il foglio di lavoro di Fogli per riavviare il flusso di lavoro. Scopri di più sull'utilizzo dei rilanci.
Obiettivi
In questo tutorial, imparerai a:
- Crea una nuova cartella su Google Drive. Questa cartella viene utilizzata per archiviare e consente al flusso di lavoro di scrivere nel foglio di lavoro.
- Crea un foglio di lavoro Fogli Google per acquisire un'approvazione e avviare un callback a un flusso di lavoro.
- Utilizza Google Apps Script, una piattaforma JavaScript basata su cloud che ti consente di creare, leggere e modificare in modo programmatico i prodotti Google Workspace, per attivare la ripresa di un flusso di lavoro in pausa ogni volta che una richiesta viene approvata tramite un aggiornamento del foglio di lavoro.
- Crea ed esegui il deployment di un flusso di lavoro che chiami il connettore API Google Sheets per accodare i dati al foglio di lavoro. Il flusso di lavoro viene eseguito, messo in pausa e poi riprende quando viene approvato un callback tramite il foglio di lavoro. Scopri di più sui connettori di Workflows.
- Testa l'intero processo e verifica che il flusso di lavoro prosegua come previsto.
Costi
In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi basata sull'utilizzo previsto,
utilizza il Calcolatore prezzi.
Il tutorial utilizza anche Google Workspace. I servizi di livello professionale che non sono inclusi nelle app per utenti finali gratuite di Google sono fatturabili.
Prima di iniziare
Puoi eseguire alcuni dei seguenti comandi nella console Google Cloud o utilizzando l'interfaccia a riga di comando Google Cloud nel terminale o in Cloud Shell.
I vincoli di sicurezza definiti dalla tua organizzazione potrebbero impedirti di completare i passaggi seguenti. Per informazioni sulla risoluzione dei problemi, vedi Sviluppare applicazioni in un ambiente Google Cloud vincolato.
Console
Nella console Google Cloud, nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud.
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come controllare se la fatturazione è attivata in un progetto.
Abilitare Compute Engine, Fogli e API Workflows.
Prendi nota Account di servizio predefinito Compute Engine come lo assocerai al flusso di lavoro di questo tutorial per i test. scopi. Nuovi progetti che hanno abilitato l'API Compute Engine creare questo account di servizio con IAM di base Ruolo Editor e con il seguente formato email:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Puoi trovare il numero del tuo progetto nella Ti diamo il benvenuto della console Google Cloud.
Per gli ambienti di produzione, ti consigliamo vivamente di creare un nuovo account di servizio e di assegnargli uno o più ruoli IAM contenenti le autorizzazioni minime richieste e di seguire il principio del privilegio minimo.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come controllare se la fatturazione è attivata in un progetto.
Abilitare Compute Engine, Fogli e API Workflows.
gcloud services enable \ compute.googleapis.com \ sheets.googleapis.com \ workflows.googleapis.com
Prendi nota Account di servizio predefinito Compute Engine come lo assocerai al flusso di lavoro di questo tutorial per i test. scopi. Nuovi progetti che hanno abilitato l'API Compute Engine creare questo account di servizio con IAM di base Ruolo Editor e con il seguente formato email:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Puoi recuperare il numero del tuo progetto:
gcloud projects describe PROJECT_ID
Per gli ambienti di produzione, ti consigliamo vivamente di creare un nuovo account di servizio e di assegnargli uno o più ruoli IAM contenenti le autorizzazioni minime richieste e di seguire il principio del privilegio minimo.
Crea una nuova cartella su Google Drive
Crea una nuova cartella su Google Drive. Questa cartella viene utilizzata per archiviare il foglio di lavoro. Configurando un'autorizzazione per la cartella condivisa, il flusso di lavoro è autorizzato a scrivere nel foglio di lavoro.
- Accedi a drive.google.com.
- Fai clic su Nuovo > Nuova cartella.
- Inserisci un nome per la cartella.
- Fai clic su Crea.
- Fai clic con il tasto destro del mouse sulla nuova cartella e seleziona Condividi.
Aggiungi l'indirizzo email dell'account di servizio predefinito Compute Engine.
In questo modo, l'account di servizio avrà accesso alla cartella. Quando associ l'account di servizio al flusso di lavoro, questo avrà accesso in modifica a qualsiasi file nella cartella. Scopri di più sulla condivisione di file, cartelle e unità.
Seleziona il ruolo Editor.
Deseleziona la casella di controllo Invia notifiche.
Fai clic su Condividi.
Creare un foglio di lavoro con Fogli Google
Quando crei un foglio di lavoro con Fogli Google, viene salvato in Google Drive. Per impostazione predefinita, il foglio di lavoro viene salvato nella cartella principale su Drive. Non è possibile creare un foglio di lavoro direttamente all'interno di una cartella specificata utilizzando l'API di Fogli Google. Tuttavia, sono alternative, ad esempio spostare il foglio di lavoro in una cartella specifica dopo lo crei, come in questo esempio. Per ulteriori informazioni, consulta Utilizzare le cartelle di Google Drive.
Vai a sheets.google.com.
Fai clic su Nuovo .
Il nuovo foglio di lavoro viene creato e aperto. Ogni foglio di lavoro ha un indirizzo
spreadsheetId
, contenenti lettere, numeri, trattini o trattini bassi. Puoi trovare ID foglio di lavoro in un URL di Fogli Google:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0
Prendi nota di questo ID perché sarà necessario durante la creazione del flusso di lavoro.
Aggiungi le intestazioni di colonna in modo che corrispondano al seguente esempio:
Tieni presente che il valore nella colonna G, Approvato?, viene utilizzato per avviare i callback nel flusso di lavoro.
Sposta il foglio di lavoro nella cartella Google Drive che hai creato in precedenza:
- Nel foglio di lavoro, seleziona File > Sposta.
- Vai alla cartella che hai creato.
- Fai clic su Sposta.
Puoi utilizzare anche
Connettore API Fogli Google
per creare un foglio di lavoro. Tieni presente che quando utilizzi il connettore,
spreadsheetId
può essere recuperato dal risultato di resp
.
Ad esempio:
- create_spreadsheet: call: googleapis.sheets.v4.spreadsheets.create args: body: connector_params: scopes: ${driveScope} result: resp - assign_sheet_id: assign: - sheetId: ${resp.spreadsheetId}
Espandere Fogli Google utilizzando Apps Script
Apps Script ti consente di creare, leggere e modificare a livello di programmazione in Fogli Google. La maggior parte degli script progettati per Fogli manipola per interagire con celle, righe e colonne di un foglio di lavoro. Per un'introduzione all'utilizzo di Apps Script con Fogli Google, consulta la guida rapida alle funzioni personalizzate.
Crea un progetto Apps Script da Fogli Google:
- Apri il foglio di lavoro di Fogli.
- Seleziona Estensioni > Apps Script.
- Nell'editor di script, fai clic su Progetto senza titolo.
- Assegna un nome al progetto e fai clic su Rinomina.
Lo script è ora associato al foglio di lavoro. che conferiscono allo script capacità speciali per modificare l'interfaccia utente o e rispondere quando il foglio di lavoro è aperto.
Un progetto di script rappresenta una raccolta di file e risorse di Apps Script. I file di codice in un progetto di script hanno un'estensione
.gs
.Puoi usare Apps Script per scrivere funzioni personalizzate che possono essere usate in Fogli Google come una funzione integrata. Le funzioni personalizzate vengono create utilizzando JavaScript standard. Crea una funzione:
- Apri il progetto Apps Script.
- Fai clic su Editor .
- Un file di script viene visualizzato come file di progetto denominato
Code.gs
. Per modificare il file: selezionalo. Sostituisci qualsiasi codice nell'editor di script con il seguente codice che legge i dati nel foglio di lavoro e li trasmette come input a un flusso di lavoro esecuzione:
Fai clic su Salva
.
Gli attivatori installabili di Apps Script consentono a un progetto di script di eseguire una funzione specificata quando vengono soddisfatte determinate condizioni, ad esempio quando un foglio di lavoro viene aperto o modificato. Crea un trigger:
- Apri il progetto Apps Script.
- Fai clic su Attivatori .
- Fai clic su Aggiungi trigger.
- Nella finestra di dialogo Aggiungi trigger per YOUR_PROJECT_NAME, configura l'attivatore:
- Nell'elenco Scegli la funzione da eseguire, seleziona handleEdit.
- Nell'elenco Scegli quale implementazione eseguire, seleziona Principale.
- Nell'elenco Seleziona l'origine evento, seleziona Da foglio di lavoro.
- Nell'elenco Seleziona il tipo di evento, scegli Alla modifica.
- Nell'elenco Impostazioni di notifica di errore, seleziona Avvisami ogni giorno.
- Fai clic su Salva.
Se ti viene chiesto di scegliere un Account Google, seleziona l'app l'account di servizio e fai clic su Consenti.
In questo modo, il tuo progetto Apps Script potrà visualizzare, modificare, creare ed eliminare i tuoi fogli Google e connettersi a un servizio esterno.
Un file manifest di un progetto Apps Script è un file JSON che specifica le informazioni di base del progetto, Apps Script deve eseguire correttamente uno script. Tieni presente che l'editor di Apps Script nasconde i file manifest per impostazione predefinita per proteggere le impostazioni del progetto Apps Script. Modifica il file manifest:
- Apri il progetto Apps Script.
- Fai clic su Impostazioni progetto .
- Seleziona la casella di controllo Mostra il file manifest "appsscript.json" nell'editor.
- Fai clic su Editor .
- Il file manifest viene visualizzato come file di progetto denominato
appsscript.json
. A modificare il file e selezionarlo. Il campo
oauthScopes
specifica un array di stringhe. Per impostare gli ambiti di autorizzazione utilizzati dal progetto, aggiungi un array con gli ambiti che vuoi supportare. Ad esempio:{ "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" ] }
Vengono impostati gli ambiti espliciti su:
- Connettersi a un servizio esterno
- Visualizzare, modificare, configurare ed eliminare i tuoi dati di Google Cloud, nonché vedere l'indirizzo email del tuo Account Google
- Visualizzare, modificare, creare ed eliminare tutti i tuoi fogli Google
Fai clic su Salva
.
Esegui il deployment di un flusso di lavoro che scrive in un foglio di lavoro e utilizza i callback
Esegui il deployment di un flusso di lavoro che viene eseguito, messo in pausa e poi riprende quando viene eseguito un callback approvati tramite un foglio di lavoro. Il flusso di lavoro scrive in un foglio di lavoro di Fogli utilizzando il connettore dell'API Fogli Google.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro:
Fai clic su
Crea.Inserisci un nome per il nuovo flusso di lavoro:
workflows-awaits-callback-sheets
.Nell'elenco Regione, seleziona us-central1 (Iowa).
In Account di servizio, seleziona l'impostazione predefinita di Compute Engine account di servizio (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
).Fai clic su Avanti.
Nell'editor del flusso di lavoro, inserisci la seguente definizione per il tuo flusso di lavoro:
Assicurati di sostituire il valore del segnaposto
sheetId
con il tuospreadsheetId
.Fai clic su Esegui il deployment.
gcloud
Crea un file di codice sorgente per il flusso di lavoro:
touch workflows-awaits-callback-sheets.yaml
In un editor di testo, copia il seguente flusso di lavoro nel file del codice sorgente:
Assicurati di sostituire il valore del segnaposto
sheetId
con il tuospreadsheetId
.Esegui il deployment del flusso di lavoro inserendo il seguente 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
Sostituisci
PROJECT_NUMBER
con il tuo Google Cloud del progetto. Puoi recuperare il numero del tuo progetto:gcloud projects describe PROJECT_ID
Testa il flusso end-to-end
Esegui il flusso di lavoro per testare il flusso end-to-end. L'esecuzione di un flusso di lavoro esegue la definizione attuale del flusso di lavoro associata al flusso di lavoro.
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro:
Nella pagina Flussi di lavoro, seleziona la workflows-awaits-callback-sheets per accedere alla relativa pagina dei dettagli.
Nella pagina Dettagli flusso di lavoro, fai clic su play_arrow Esegui.
Fai di nuovo clic su Esegui.
Il flusso di lavoro si avvia e il relativo stato di esecuzione deve essere In esecuzione. I log indicano inoltre che il flusso di lavoro è in pausa e in attesa:
Execute steps here before waiting for callback from sheets ... Started waiting for callback from sheet 1JlNFFnqs760M_KDqeeeDc_qtrABZDxoalyCmRE39dpM
Verifica che il flusso di lavoro abbia scritto i dettagli del richiamata in una riga del foglio di lavoro.
Ad esempio, dovresti vedere l'ID esecuzione del flusso di lavoro nella colonna ID esecuzione, un endpoint di callback nella colonna URL callback e FALSE nella colonna Approvato?.
Nel foglio di lavoro, cambia FALSE in TRUE.
Dopo un minuto o due, l'esecuzione dovrebbe riprendere e poi completarsi con uno stato di esecuzione Succeeded.
gcloud
Apri un terminale.
Esegui il flusso di lavoro:
gcloud workflows run workflows-awaits-callback-sheets
Il flusso di lavoro si avvia e l'output dovrebbe indicare che è in pausa e in attesa:
Waiting for execution [a8361789-90e0-467f-8bd7-ea1c81977820] to complete...working.
Verifica che il flusso di lavoro abbia scritto i dettagli del richiamata in una riga del foglio di lavoro.
Ad esempio, dovresti vedere l'ID esecuzione del flusso di lavoro nella colonna ID esecuzione, un endpoint di callback nella colonna URL callback e FALSE nella colonna Approvato?.
Nel foglio di lavoro, modifica FALSE in TRUE.
Dopo un paio di minuti, l'esecuzione dovrebbe riprendere e completare con uno stato di esecuzione
SUCCEEDED
.
Esegui la pulizia
Se hai creato un nuovo progetto per questo tutorial, elimina il progetto. Se hai utilizzato un progetto esistente e vuoi mantenerlo senza l'aggiunta delle modifiche In questo tutorial, elimina le risorse create per il tutorial.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione creato per il tutorial.
Per eliminare il progetto:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.