Google Sheets est un service de feuilles de calcul qui favorise 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 le point de terminaison du rappel (ou webhook), enregistre l'URL de rappel dans Google Sheets ; met l'exécution en pause, puis attend l'approbation d'un humain via l'outil Sheets. feuille de calcul pour redémarrer le workflow. En savoir plus sur l'utilisation des rappels
Objectifs
Au cours de ce tutoriel, vous allez :
- Créez un dossier dans Google Drive. Ce dossier est utilisé pour stocker vos feuille de calcul et permet au processus d'écrire dans la feuille de calcul.
- Créer une feuille de calcul Google Sheets pour enregistrer une approbation et la lancer un rappel de workflow.
- Utilisez Google Apps Script, un dans le cloud, qui permet de créer, lire, et modifier les produits Google Workspace, pour déclencher la réactivation chaque fois qu'une demande est approuvée par le biais d'une mise à jour de la feuille de calcul.
- Créez et déployez un workflow qui appelle la méthode Connecteur d'API Google Sheets pour ajouter des données à la feuille de calcul. Le workflow s'exécute, se met en pause, puis reprend lorsqu'un rappel est approuvé via la feuille de calcul. En savoir plus sur les connecteurs Workflows
- Testez l'ensemble du processus et confirmez qu'il se déroule comme prévu.
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Le tutoriel utilise également Google Workspace. Services professionnels non inclus dans les applications Google gratuites destinées au grand public sont facturables.
Avant de commencer
Vous pouvez exécuter certaines des commandes suivantes dans la console Google Cloud à l'aide de la Google Cloud CLI dans votre terminal ou dans Cloud Shell.
Les contraintes de sécurité définies par votre organisation peuvent vous empêcher d'effectuer les étapes suivantes. Pour obtenir des informations de dépannage, consultez la page Développer des applications dans un environnement Google Cloud limité.
Console
Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
Activez Compute Engine, Sheets et API Workflows.
Notez les Compte de service Compute Engine par défaut car vous l'associerez au workflow de ce tutoriel pour tester objectifs. Les nouveaux projets pour lesquels l'API Compute Engine est activée ce compte de service doit être créé avec Éditeur, en utilisant le format d'adresse e-mail suivant:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Vous trouverez le numéro de votre projet dans la Bienvenue de la console Google Cloud.
Pour les environnements de production, nous vous recommandons vivement créer un compte de service et en lui attribuant un ou plusieurs rôles IAM autorisations minimales requises et suivez le principe de moindre privilège.
gcloud
Dans la console Google Cloud, activez Cloud Shell.
En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
Activez Compute Engine, Sheets et API Workflows.
gcloud services enable \ compute.googleapis.com \ sheets.googleapis.com \ workflows.googleapis.com
Notez les Compte de service Compute Engine par défaut car vous l'associerez au workflow de ce tutoriel pour tester objectifs. Les nouveaux projets pour lesquels l'API Compute Engine est activée ce compte de service doit être créé avec Éditeur, en utilisant le format d'adresse e-mail suivant:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Vous pouvez récupérer votre numéro de projet:
gcloud projects describe PROJECT_ID
Pour les environnements de production, nous vous recommandons vivement créer un compte de service et en lui attribuant un ou plusieurs rôles IAM autorisations minimales requises et suivez le principe de moindre privilège.
Créer un dossier dans Google Drive
Créez un dossier dans Google Drive. Ce dossier est utilisé pour stocker vos 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.
- Attribuez un nom au dossier.
- Cliquez sur Créer.
- Effectuez un clic droit sur le nouveau dossier, puis sélectionnez Partager.
Ajouter l'adresse e-mail du service Compute Engine par défaut Google Cloud.
Le compte de service peut ainsi accéder au dossier. Lorsque vous associez compte de service avec votre workflow, celui-ci disposera à tous les fichiers du dossier. En savoir plus sur le partage de fichiers, de dossiers et 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 avec Google Sheets, elle est enregistrée dans Google Drive. Par défaut, la feuille de calcul est enregistrée dans votre dossier racine sur 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. Cependant, sont des alternatives, y compris déplacer la feuille de calcul dans un dossier spécifique après vous la créez, comme dans cet exemple. Pour en savoir plus, consultez Utiliser les dossiers Google Drive
Accédez à sheets.google.com.
Cliquez sur New (Nouveau)
.
Votre nouvelle feuille de calcul est alors créée. Chaque feuille de calcul a une
spreadsheetId
, contenant des lettres, des chiffres, des traits d'union ou des traits de soulignement. Vous trouverez ID de feuille de calcul dans une URL Google Sheets:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0
Notez cet ID, car vous en aurez besoin à la création du workflow.
Ajoutez des en-têtes de colonne pour qu'ils correspondent à l'exemple suivant:
Notez que la valeur de la colonne G, Approved? (Approuvé ?), sert à initier le dans le workflow.
Déplacez la feuille de calcul dans 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
Connecteur d'API Google Sheets
pour créer une feuille de calcul. Notez que lorsque vous utilisez le connecteur,
spreadsheetId
peut être récupérée à 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 les feuilles de calcul Google Sheets à l'aide d'Apps Script
Apps Script vous permet de créer, lire et modifier des documents par programmation Google Sheets. La plupart des scripts conçus pour Sheets manipulent tableaux pour interagir avec les cellules, les lignes et les colonnes d'une feuille de calcul. Pour une sur l'utilisation d'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 maintenant lié à votre feuille de calcul. qui donne au script 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 scripts Apps Script des fichiers et des ressources. Les fichiers de code d'un projet de script ont un
.gs
.Vous pouvez utiliser Apps Script pour écrire des fonctions personnalisées que vous pouvez utiliser dans Google Sheets, tout comme une fonction intégrée. Les fonctions personnalisées sont créés à l'aide de JavaScript standard. Créez une fonction:
- Ouvrez votre projet Apps Script.
- Cliquez sur Éditeur .
- Un fichier de script s'affiche en tant que fichier de projet nommé
Code.gs
. Pour modifier le fichier, sélectionnez-le. Remplacez tout code présent dans l'éditeur de scripts par le code suivant, qui lit les données de votre feuille de calcul et les transmet en tant qu'entrées à un flux de travail. exécution:
Cliquez sur Enregistrer
.
Apps Script déclencheurs installables permet à un projet de script d'exécuter une fonction spécifiée lorsque certaines conditions satisfaite, 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 NOM_DU_PROJET, configurez le
déclencheur:
- Dans la liste Choisir la fonction à exécuter, sélectionnez handleEdit.
- Dans la liste Choisir le déploiement à exécuter, sélectionnez Head.
- Dans la liste Sélectionner la source de l'événement, choisissez À partir de la feuille de calcul.
- Dans la liste Sélectionnez un type d'événement, choisissez Lors d'une modification.
- Dans la liste Paramètres de notification des échecs, sélectionnez M'envoyer une notification quotidienne.
- Cliquez sur Enregistrer.
Si vous êtes invité à choisir un compte Google, sélectionnez puis cliquez sur Autoriser.
Cela permet à votre projet Apps Script d'afficher, de modifier créer et supprimer vos feuilles de calcul Google Sheets ; et de se connecter à un service externe.
Fichier manifeste d'un projet Apps Script est un fichier JSON qui spécifie les informations de base sur le projet Apps Script doit exécuter un script correctement. Notez que L'éditeur Apps Script masque les fichiers manifestes par défaut pour protéger votre script Apps Script paramètres du projet. 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 sous la forme d'un fichier de projet nommé
appsscript.json
. À modifiez le fichier, sélectionnez-le. Le champ
oauthScopes
spécifie un tableau de chaînes. Pour définir le paramètre champs d'application des autorisations votre projet utilise, ajoutez un tableau avec les niveaux d'accès que vous souhaitez prendre en charge. Par 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" ] }
.Les champs d'application explicites sont ainsi définis sur:
- 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éployez un workflow qui s'exécute, se met en pause, puis reprend lorsqu'un rappel est approuvées par le biais d'une feuille de calcul. Le workflow écrit dans une feuille de calcul feuille de calcul à l'aide du connecteur de l'API Google Sheets.
Console
Dans la console Google Cloud, accédez à 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).
Dans le champ Compte de service, sélectionnez la valeur par défaut de Compute Engine. compte de service (
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é
sheetId
par votrespreadsheetId
Cliquez sur Déployer.
gcloud
Créez un fichier de code source pour votre workflow:
touch workflows-awaits-callback-sheets.yaml
Dans un éditeur de texte, copiez le workflow suivant dans votre fichier de code source:
Veillez à remplacer la valeur de l'espace réservé
sheetId
par 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_NUMBER
par 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 la définition actuelle du workflow qui lui est associée.
Console
Dans la console Google Cloud, accédez à Workflows :
Sur la page Workflows, sélectionnez l'icône workflows-awaits-callback-sheets pour accéder à la page d'informations associée.
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 Running (En cours d'exécution). La 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, vous devriez voir l'ID d'exécution de votre workflow dans Colonne ID d'exécution, un point de terminaison de rappel dans l'URL de rappel et FALSE dans la colonne Approuvé ?.
Dans la feuille de calcul, remplacez FALSE par TRUE.
Après une minute ou deux, l'exécution doit reprendre, puis se terminer dont l'état d'exécution indique Succeeded (Réussie).
gcloud
Ouvrez un terminal.
Exécutez le workflow :
gcloud workflows run workflows-awaits-callback-sheets
Le workflow démarre, et la sortie doit indiquer que le workflow est suspendu 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, vous devriez voir l'ID d'exécution de votre workflow dans Colonne ID d'exécution, un point de terminaison de rappel dans l'URL de rappel et FALSE dans la colonne Approuvé ?.
Dans la feuille de calcul, remplacez FALSE par TRUE.
Après une minute ou deux, l'exécution doit reprendre, puis se terminer dont l'état d'exécution est
SUCCEEDED
.
Effectuer un nettoyage
Si vous avez créé un projet pour ce tutoriel, supprimez-le. Si vous avez utilisé un projet existant et que vous souhaitez le conserver sans les modifications du présent tutoriel, supprimez les ressources créées pour ce tutoriel.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- Dans la console Google Cloud, accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.