Google Sheets est une solution de feuille de calcul basée dans le cloud qui permet la collaboration en temps réel et fournit des outils pour visualiser, traiter et communiquer des données.
Ce tutoriel explique comment créer et déployer un workflow qui crée un point de terminaison de rappel (ou webhook), enregistre l'URL de rappel dans Google Sheets, met en pause l'exécution, puis attend l'approbation manuelle dans la feuille de calcul Sheets pour redémarrer le workflow. En savoir plus sur l'utilisation des rappels
Créer un dossier dans Google Drive
Créez un dossier dans Google Drive. Ce dossier sert à stocker votre feuille de calcul. En configurant une autorisation pour le dossier partagé, votre workflow est autorisé à écrire dans la feuille de calcul.
- Accédez à drive.google.com.
- Cliquez sur Nouveau> Nouveau dossier.
- Saisissez un nom pour le dossier.
- Cliquez sur Créer.
- Effectuez un clic droit sur votre nouveau dossier, puis sélectionnez Partager.
Ajoutez l'adresse e-mail du compte de service Compute Engine par défaut.
Cela donne au compte de service l'accès au dossier. Lorsque vous associez le compte de service à votre workflow, celui-ci dispose d'un accès en modification à tous les fichiers du dossier. En savoir plus sur le partage de fichiers, de dossiers et de Drive
Sélectionnez le rôle Éditeur.
Décochez la case Envoyer une notification.
Cliquez sur Partager.
Créer une feuille de calcul avec Google Sheets
Lorsque vous créez une feuille de calcul dans Google Sheets, elle est enregistrée dans Google Drive. Par défaut, la feuille de calcul est enregistrée dans le dossier racine de Drive. Il n'est pas possible de créer une feuille de calcul directement dans un dossier spécifié à l'aide de l'API Google Sheets. Toutefois, il existe des alternatives, y compris déplacer la feuille de calcul vers un dossier spécifique après l'avoir créée, comme dans cet exemple. Pour en savoir plus, consultez Utiliser des dossiers Google Drive.
Accédez à sheets.google.com.
Cliquez sur Nouveau
.
La nouvelle feuille de calcul s'ouvre. Chaque feuille de calcul possède une valeur
spreadsheetIdunique, composée de lettres, de chiffres, de tirets ou de traits de soulignement. Vous trouverez l'identifiant de la feuille de calcul dans une URL Google Sheets :https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0Notez cet ID, car vous en aurez besoin lorsque vous créerez votre workflow.
Ajoutez des en-têtes de colonne correspondant à l'exemple suivant :

Notez que la valeur de la colonne G, Approuvé ?, est utilisée pour lancer les rappels dans le workflow.
Déplacez la feuille de calcul vers le dossier Google Drive que vous avez créé précédemment :
- Dans la feuille de calcul, sélectionnez Fichier > Déplacer.
- Accédez au dossier que vous avez créé.
- Cliquez sur Déplacer.
Vous pouvez également utiliser le connecteur de l'API Google Sheets pour créer une feuille de calcul. Notez que lorsque vous utilisez le connecteur, le spreadsheetId peut être récupéré à partir du résultat resp.
Exemple :
- create_spreadsheet:
call: googleapis.sheets.v4.spreadsheets.create
args:
body:
connector_params:
scopes: ${driveScope}
result: resp
- assign_sheet_id:
assign:
- sheetId: ${resp.spreadsheetId}
Étendre Google Sheets à l'aide d'Apps Script
Apps Script vous permet de créer, lire et modifier des feuilles de calcul Google Sheets de manière programmatique. La plupart des scripts conçus pour Sheets manipulent des tableaux pour interagir avec les cellules, les lignes et les colonnes d'une feuille de calcul. Pour découvrir comment utiliser Apps Script avec Google Sheets, consultez le guide de démarrage rapide sur les fonctions personnalisées.
Créez un projet Apps Script à partir de Google Sheets :
- Ouvrez votre feuille de calcul Sheets.
- Sélectionnez Extensions > Apps Script.
- Dans l'éditeur de script, cliquez sur Projet sans titre.
- Attribuez un nom à votre projet, puis cliquez sur Renommer.
Votre script est désormais lié à votre feuille de calcul, ce qui lui confère des capacités spéciales pour modifier l'interface utilisateur ou répondre lorsque la feuille de calcul est ouverte.
Un projet de script représente un ensemble de fichiers et de ressources Apps Script. Les fichiers de code d'un projet de script ont l'extension
.gs.Vous pouvez utiliser Apps Script pour écrire des fonctions personnalisées que vous pouvez utiliser dans Google Sheets comme une fonction intégrée. Les fonctions personnalisées sont créées à l'aide de JavaScript standard. Créez une fonction :
- Ouvrez votre projet Apps Script.
- Cliquez sur Éditeur .
- Un fichier de script apparaît sous la forme d'un fichier de projet nommé
Code.gs. Pour modifier le fichier, sélectionnez-le. Remplacez tout code présent dans l'éditeur de script par le code suivant, qui lit les données de votre feuille de calcul et les transmet en tant qu'entrée à l'exécution d'un workflow :
Cliquez sur Enregistrer .
Les déclencheurs installables Apps Script permettent à un projet de script d'exécuter une fonction spécifiée lorsque certaines conditions sont remplies, par exemple lorsqu'une feuille de calcul est ouverte ou modifiée. Créez un déclencheur :
- Ouvrez votre projet Apps Script.
- Cliquez sur Déclencheurs .
- Cliquez sur Ajouter un déclencheur.
- Dans la boîte de dialogue Ajouter un déclencheur pour YOUR_PROJECT_NAME, configurez le déclencheur :
- Dans la liste Choisir la fonction à exécuter, sélectionnez handleEdit.
- Dans la liste Choisissez le déploiement à exécuter, sélectionnez Head.
- Dans la liste Sélectionner une source d'événements, sélectionnez À partir d'une feuille de calcul.
- Dans la liste Sélectionner un type d'événement, sélectionnez Lors de la modification.
- Dans la liste Paramètres de notification d'échec, sélectionnez M'envoyer une notification quotidienne.
- Cliquez sur Enregistrer.
Si vous êtes invité à choisir un compte Google, sélectionnez le compte approprié, puis cliquez sur Autoriser.
Cela permet à votre projet Apps Script de consulter, modifier, créer et supprimer vos feuilles de calcul Google Sheets, et de se connecter à un service externe.
Le fichier manifeste d'un projet Apps Script est un fichier JSON qui spécifie les informations de base dont Apps Script a besoin pour exécuter un script. Notez que l'éditeur Apps Script masque les fichiers manifestes par défaut pour protéger les paramètres de votre projet Apps Script. Modifiez le fichier manifeste :
- Ouvrez votre projet Apps Script.
- Cliquez sur Paramètres du projet .
- Cochez la case Afficher le fichier manifeste "appsscript.json" dans l'éditeur.
- Cliquez sur Éditeur .
- Le fichier manifeste apparaît en tant que fichier de projet nommé
appsscript.json. Pour modifier le fichier, sélectionnez-le. Le champ
oauthScopesspécifie un tableau de chaînes. Pour définir les champs d'application de l'autorisation utilisés par votre projet, ajoutez un tableau avec les champs d'application que vous souhaitez prendre en charge. Exemple :{ "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" ] }
Cela définit des niveaux d'accès explicites pour :
- Se connecter à un service externe.
- Consulter, modifier, configurer et supprimer vos données Google Cloud , et voir l'adresse e-mail de votre compte Google
- Consulter, modifier, créer et supprimer toutes vos feuilles de calcul Google Sheets
Cliquez sur Enregistrer .
Déployer un workflow qui écrit dans une feuille de calcul et utilise des rappels
Déployer un workflow qui s'exécute, se met en pause, puis reprend lorsqu'un rappel est approuvé dans une feuille de calcul Le workflow écrit dans une feuille de calcul Sheets à l'aide du connecteur de l'API Google Sheets.
Console
Dans la console Google Cloud , accédez à la page Workflows :
Cliquez sur Créer.
Saisissez un nom pour le nouveau workflow :
workflows-awaits-callback-sheets.Dans la liste Région, sélectionnez us-central1 (Iowa).
Pour le compte de service, sélectionnez le compte de service Compute Engine par défaut (
PROJECT_NUMBER-compute@developer.gserviceaccount.com).Cliquez sur Suivant.
Dans l'éditeur de workflow, saisissez la définition suivante pour votre workflow :
Veillez à remplacer la valeur de l'espace réservé
sheetIdpar votrespreadsheetId.Cliquez sur Déployer.
gcloud
Créez un fichier de code source pour votre workflow :
touch workflows-awaits-callback-sheets.yamlDans un éditeur de texte, copiez le workflow suivant dans votre fichier de code source :
Veillez à remplacer la valeur de l'espace réservé
sheetIdpar votrespreadsheetId.Déployez le workflow en saisissant la commande suivante :
gcloud workflows deploy workflows-awaits-callback-sheets \ --source=workflows-awaits-callback-sheets.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
Remplacez
PROJECT_NUMBERpar votre numéro de projet Google Cloud. Vous pouvez récupérer votre numéro de projet :gcloud projects describe PROJECT_ID
Tester le flux de bout en bout
Exécutez le workflow pour tester le flux de bout en bout. L'exécution d'un workflow exécute la définition actuelle du workflow associé au workflow.
Console
Dans la console Google Cloud , accédez à la page Workflows :
Sur la page Workflows, sélectionnez le workflow workflows-awaits-callback-sheets pour accéder à sa page d'informations.
Sur la page Détails du workflow, cliquez sur play_arrow Exécuter.
Cliquez à nouveau sur Exécuter.
Le workflow démarre et son état d'exécution doit être En cours d'exécution. Les journaux indiquent également que le workflow est suspendu et en attente :
Execute steps here before waiting for callback from sheets ... Started waiting for callback from sheet 1JlNFFnqs760M_KDqeeeDc_qtrABZDxoalyCmRE39dpM
Vérifiez que le workflow a écrit les détails du rappel dans une ligne de votre feuille de calcul.
Par exemple, l'ID d'exécution de votre workflow doit s'afficher dans la colonne ID d'exécution, un point de terminaison de rappel dans la colonne URL de rappel et la valeur FALSE dans la colonne Approuvé ?.
Dans la feuille de calcul, remplacez FALSE par TRUE.
Au bout d'une minute ou deux, l'exécution devrait reprendre, puis se terminer avec l'état d'exécution Succeeded.
gcloud
Ouvrez un terminal.
Exécutez le workflow :
gcloud workflows run workflows-awaits-callback-sheets
Le workflow démarre et le résultat doit indiquer qu'il est mis en veille et en attente :
Waiting for execution [a8361789-90e0-467f-8bd7-ea1c81977820] to complete...working.
Vérifiez que le workflow a écrit les détails du rappel dans une ligne de votre feuille de calcul.
Par exemple, l'ID d'exécution de votre workflow doit s'afficher dans la colonne ID d'exécution, un point de terminaison de rappel dans la colonne URL de rappel et la valeur FALSE dans la colonne Approuvé ?.
Dans la feuille de calcul, remplacez FALSE par TRUE.
Au bout d'une minute ou deux, l'exécution devrait reprendre, puis se terminer avec un état d'exécution
SUCCEEDED.