Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 34

Intégration Google Sheets : Lecture, Écriture et Modification de Données

Recommended resources

Bonjour !

Dans la leçon précédente, nous avons vu comment mettre à jour des enregistrements dans HubSpot en utilisant un identifiant unique, une compétence clé pour maintenir la cohérence des données dans un CRM. Vous avez appris à utiliser les opérations Update et Create or Update pour modifier des fiches d'informations existantes.

Aujourd'hui, nous allons transposer ces concepts à un autre outil fondamental de l'écosystème de l'automatisation : Google Sheets. En tant que "base de données" accessible et universelle, Google Sheets est un pilier pour d'innombrables workflows, que ce soit pour stocker des données collectées, préparer des rapports ou servir d'interface simple pour des utilisateurs non techniques.

Objectif de la leçon : Utiliser le nœud Google Sheets pour lire, rechercher, ajouter et mettre à jour des données dans un tableur.

Nous couvrirons les quatre opérations de base qui vous permettront de manipuler n'importe quelle feuille de calcul Google Sheets depuis n8n. Cette leçon est la préparation directe pour le prochain exercice, où nous synchroniserons des données entre Google Sheets et HubSpot.


1. Connecter n8n à Google Sheets : OAuth2 vs. Compte de Service

Avant toute chose, il est indispensable de connecter votre compte Google à n8n. Contrairement à de nombreuses autres intégrations, Google propose plusieurs méthodes d'authentification, chacune avec ses avantages et ses inconvénients. Pour un consultant technique comme vous, comprendre cette distinction est crucial pour choisir la bonne architecture en fonction du projet.

Les deux principales méthodes sont :

  • OAuth 2.0 : Vous vous connectez en tant qu'utilisateur. n8n agit "en votre nom" pour accéder à vos fichiers. C'est simple et rapide pour des projets personnels ou des tests, mais lie l'automatisation à votre compte personnel.
  • Compte de Service (Service Account) : Vous créez un "compte robot" indépendant. Ce compte n'est pas lié à un utilisateur spécifique et possède ses propres permissions. C'est la méthode recommandée pour les workflows de production, car elle est plus robuste et sécurisée. Le "robot" n'accède qu'aux fichiers que vous partagez explicitement avec lui.

La vidéo suivante explique remarquablement bien ces deux méthodes et vous guide à travers la configuration dans la Google Cloud Console.

Connecter N8N à TOUS les modules Google (GSheet / Drive / Youtube...)

Cette vidéo de Julien Sanson est une excellente ressource pour comprendre en détail les méthodes de connexion à Google. Regardez les sections suivantes pour maîtriser la configuration.

Veuillez regarder les segments suivants : Introduction et types de connexion (00:00 - 00:41) : Pour comprendre la distinction entre OAuth 2.0 et Compte de Service. Explication du Compte de Service (12:38 - 14:48) : Pour comprendre pourquoi et comment utiliser cette méthode, plus adaptée à la production. Démonstration de la connexion avec un Compte de Service (14:48 - 18:26) : Suivez ces étapes pour créer votre clé JSON et configurer n8n. Portez une attention particulière à la manière de partager un fichier ou un dossier Google Drive avec l'email du compte de service pour lui donner accès. Résumé et cas d'usage (18:26 - 20:52) : Pour consolider votre compréhension sur quand utiliser chaque méthode.

Pour les exercices de ce cours, la méthode du Compte de Service est recommandée car elle correspond aux bonnes pratiques pour des automatisations fiables. Une fois que vous avez configuré vos identifiants (credentials), vous pouvez passer à la manipulation des données.

Si vous préférez un support écrit, cet article de Hostinger détaille également la configuration via OAuth2.

Comment intégrer n8n à Google Sheets

Cet article fournit une alternative textuelle pour la configuration de la connexion, en se concentrant sur la méthode OAuth2. Il peut être un bon complément à la vidéo.

Parcourez la première moitié de l'article, jusqu'à la section 'Exemples d’intégration de n8n et de Google Sheets'. Concentrez-vous sur les étapes de création des clés API dans la Google Developer Console.



2. Lire les données d'une feuille (Get row(s))

La première opération consiste à lire les données présentes dans votre feuille de calcul. Le nœud Google Sheets transforme les lignes de votre tableur en une liste d'objets JSON, la structure de données native de n8n.

L'opération à utiliser est Get row(s) in sheet.

La vidéo ci-dessous montre concrètement comment configurer ce nœud.

Tuto Complet n8n : Trouve tous tes emails clients en automatique !

Dans ce tutoriel d'Aurélien FAGIOLI, vous verrez une démonstration pratique de la lecture de données depuis une feuille de calcul.

Regardez le segment de 06:08 à 07:04. Observez comment il sélectionne le document, la feuille, et comment il exécute le nœud pour voir les données apparaître dans le panneau de sortie de n8n.

En résumé, pour lire des données :

  1. Ajoutez un nœud Google Sheets.
  2. Sélectionnez vos identifiants (credentials) configurés à l'étape 1.
  3. Resource: Sheet.
  4. Operation: Get Row(s).
  5. Sheet ID: Sélectionnez votre document Google Sheets.
  6. Sheet Name: Sélectionnez la feuille (l'onglet) spécifique.
  7. Vous pouvez laisser les autres options par défaut pour lire toute la feuille. En exécutant le nœud, chaque ligne sera transformée en un item JSON dans la sortie.


3. Ajouter une ligne (Append row)

Pour ajouter des informations, par exemple des données collectées via un formulaire ou une autre API, on utilise l'opération Append Row in Sheet. Cette opération ajoute une nouvelle ligne à la fin de la feuille de calcul.

Tuto Complet n8n : Trouve tous tes emails clients en automatique !

Continuons avec le même tutoriel pour voir comment ajouter une ligne.

Regardez le segment de 27:11 à 29:55. L'auteur configure un nœud Google Sheets pour écrire des données. Notez bien comment il fait correspondre ('mappe') les données des nœuds précédents (issues de son scraping) avec les colonnes de sa feuille 'Sortie'.

Points clés pour ajouter une ligne :

  1. Ajoutez un nœud Google Sheets.
  2. Operation: Append Row.
  3. Sélectionnez le document et la feuille.
  4. n8n détectera automatiquement les en-têtes de colonnes de votre feuille.
  5. Pour chaque colonne, vous pouvez insérer des valeurs statiques ou, plus fréquemment, des expressions pour mapper les données provenant des nœuds précédents (ex: {{ $json.email }}).


4. Mettre à jour une ligne (Update row)

C'est ici que nous retrouvons le concept de la leçon précédente : pour modifier un enregistrement, il faut d'abord l'identifier de manière unique.

Dans Google Sheets, il n'y a pas d'ID système visible comme dans HubSpot. On utilise donc la valeur d'une colonne clé (Key Column) pour trouver la bonne ligne à mettre à jour. Par exemple, une colonne ID Produit, Email Client ou tout autre identifiant unique que vous gérez.

L'opération à utiliser est Update Row in Sheet.

n8n Google Sheets Node: Update Row Action
Cette image montre le menu de configuration de l'opération `Update Row in Sheet`. La colonne clé (`Key`) est le paramètre crucial pour identifier la ligne à modifier.

Tuto Complet n8n : Trouve tous tes emails clients en automatique !

Le tutoriel suivant montre une mise à jour simple pour changer un statut.

Regardez le court segment de 30:53 à 31:36. Observez comment l'auteur utilise la colonne 'secteur' comme clé pour retrouver la ligne et mettre à jour la colonne 'todo' de 'pas fait' à 'fait'.

Pour mettre à jour une ligne :

  1. Ajoutez un nœud Google Sheets.
  2. Operation: Update Row.
  3. Sélectionnez le document et la feuille.
  4. Key: Choisissez dans la liste déroulante la colonne qui servira d'identifiant unique (ex: 'ID').
  5. Value: Renseignez la valeur qui permettra de trouver la ligne. C'est souvent une expression qui récupère cet ID d'un nœud précédent (ex: {{ $json.productId }}).
  6. Dans la section Fields to Update, mappez les nouvelles valeurs aux colonnes que vous souhaitez modifier.


5. Rechercher des données

Le nœud Google Sheets n'a pas d'opération Search dédiée comme le nœud HubSpot. La recherche se fait généralement en deux temps :

  1. Lire les données avec l'opération Get Row(s).
  2. Filtrer les résultats dans n8n à l'aide d'un nœud IF ou Filter.
n8n Workflow: Read, Process, and Update Google Sheets
Ce workflow illustre un schéma courant : lecture des données depuis Google Sheets, traitement de chaque ligne dans une boucle (`Loop Over Items`), et mise à jour de la feuille à la fin. La recherche d'une ligne spécifique se ferait en insérant un nœud de condition (comme un IF) après la lecture.

Par exemple, pour trouver un produit spécifique :

  1. Google Sheets Node (Get Row(s)) : Lit tous les produits de la feuille.
  2. IF Node : Vérifie pour chaque item si {{ $json.Produit }} est égal au nom du produit que vous cherchez.
    • La branche true du nœud IF contiendra uniquement le produit recherché, que vous pourrez ensuite traiter.

Pour les très grandes feuilles de calcul, cette méthode peut être inefficace. Dans de tels cas, des techniques plus avancées utilisant l'API Google Sheets avec des requêtes spécifiques peuvent être envisagées, mais cela sort du cadre de cette leçon.



6. Exercice d'application rapide

Pour mettre en pratique ce que nous venons de voir, suivez ces étapes :

  1. Créez une nouvelle feuille Google Sheets avec les colonnes : ID, Produit, Stock.
  2. Ajoutez-y deux lignes :
    • 1, Clavier, 50
    • 2, Souris, 120
  3. Dans n8n, créez un workflow :
    • Nœud 1 (Start) : Déclencheur manuel.
    • Nœud 2 (Google Sheets - Lire) : Utilisez Get Row(s) pour lire les deux produits. Exécutez et vérifiez la sortie.
    • Nœud 3 (Google Sheets - Ajouter) : Utilisez Append Row pour ajouter un nouveau produit : ID: 3, Produit: Écran, Stock: 30. Exécutez et vérifiez votre feuille de calcul.
    • Nœud 4 (Google Sheets - Mettre à jour) : Utilisez Update Row. Configurez-le pour trouver la ligne où la colonne ID a la valeur 1 et mettez à jour la colonne Stock avec la nouvelle valeur 45. Exécutez et vérifiez à nouveau votre feuille.

Cet exercice simple vous assure d'avoir bien configuré vos identifiants et de maîtriser les quatre opérations de base.



Conclusion

Félicitations ! Vous maîtrisez désormais les interactions fondamentales entre n8n et Google Sheets. C'est une compétence essentielle qui vous servira dans une multitude de projets d'automatisation.

Points clés à retenir :

  • La connexion à Google se fait via OAuth2 (lié à un utilisateur) ou Compte de Service (robot indépendant, recommandé pour la production).
  • Les quatre opérations de base sont :
    • Get Row(s) pour lire les données.
    • Append Row pour ajouter de nouvelles lignes à la fin.
    • Update Row pour modifier une ligne existante, identifiée par une colonne clé.
  • La recherche s'effectue en lisant les données puis en les filtrant dans n8n.

Vous êtes maintenant parfaitement préparé pour la prochaine leçon : un exercice de synthèse où vous construirez un workflow pour synchroniser les nouvelles lignes d'un Google Sheets vers des contacts HubSpot. À très bientôt