Exercice pratique avec Google Apps Script: accéder à Google Sheets, Maps et Gmail en quatre lignes de code

1. Présentation de Google Apps Script

Dans cet atelier de programmation, nous allons vous présenter l'une des méthodes de codage les plus simples pour accéder aux technologies de développement Google. Tout cela se fait en appliquant JavaScript, un langage de développement Web courant. Vous allez utiliser Google Apps Script pour écrire du code qui vous permettra d'extraire une adresse figurant dans une cellule d'une feuille Google Sheets, de générer un plan Google Maps basé sur cette adresse et d'envoyer ce plan en pièce jointe via Gmail. Et le meilleur dans tout ça ? Il ne s'agira que de quatre lignes de code.

Points abordés

  • Utiliser Google Apps Script avec différents services Google, tels que Google Sheets, Google Maps et Gmail
  • Développez du code à l'aide de l'éditeur intégré à votre navigateur pour Apps Script.

Prérequis

  • Un navigateur Web avec accès à Internet
  • Un compte Google (l'approbation de l'administrateur peut être nécessaire pour les comptes Google Workspace)
  • Connaissances de base de Google Sheets
  • Possibilité de lire la notation A1 de Sheets

2. Enquête

Comment allez-vous utiliser cet atelier de programmation/tutoriel ?

Je vais le lire uniquement Je vais le lire et effectuer les exercices

Comment évalueriez-vous votre expérience avec les outils et API pour les développeurs Google Workspace ?

Débutant Intermédiaire Expert

3. Présentation

Maintenant que vous savez de quoi il s'agit, qu'allez-vous faire exactement ?

  1. Découvrez Apps Script, qui est basé sur JavaScript.
  2. Créez une feuille de calcul Google Sheets.
  3. Saisissez une adresse postale dans la cellule en haut à gauche de la feuille de calcul (A1).
  4. Découvrez comment ouvrir l'éditeur Apps Script pour n'importe quel document.
  5. Modifier, enregistrer et exécuter le code Apps Script
  6. Utilisez Gmail pour afficher le résultat.

C'est parti !

Qu'est-ce que Google Apps Script ?

Google Apps Script est une plate-forme de développement qui permet de créer rapidement et facilement des scripts et des petites applications s'intégrant à Google Workspace. Avec Apps Script, vous pouvez :

  • Écrivez du code en JavaScript et accédez aux bibliothèques intégrées pour les applications Google Workspace telles que Gmail, Agenda, Drive, etc.
  • Vous n'avez rien à installer : nous vous fournissons un éditeur de code directement dans votre navigateur, et vos scripts s'exécutent sur les serveurs de Google.
  • Vous n'avez pas à vous soucier de sujets complexes tels que la sécurité et les autorisations d'accès aux données, car la plate-forme s'en charge pour vous.

Apps Script permet de créer diverses applications, des chatbots aux applications Web. L'une des utilisations les plus courantes consiste à étendre les fonctionnalités d'une feuille de calcul Google Sheets. Dans le reste de cet atelier de programmation, vous allez apprendre à utiliser Apps Script pour extraire des données d'une feuille de calcul et les connecter à d'autres services Google.

4. Créer une feuille Google Sheets et saisir une adresse postale

Dans une nouvelle feuille Google Sheets, saisissez une adresse postale valide en procédant comme suit :

  1. Créez une feuille de calcul Google Sheets à l'aide de ce lien pratique : sheets.google.com/create. Vous pouvez également accéder à votre Google Drive (drive.google.com), puis cliquer sur Nouveau > Google Sheets > Feuille de calcul vierge.

413a93e5b2f6b3d4.png

  1. Dans la feuille de calcul vide qui s'affiche, cliquez sur la première cellule dans l'angle supérieur gauche (A1). Cette cellule se trouve colonne A, ligne 1. Si vous avez besoin de vous rafraîchir la mémoire, vous pouvez consulter cette description de la notation A1.
  2. Saisissez une adresse postale valide dans la cellule. Choisissez une adresse dans le monde avec un emplacement exact en utilisant une adresse postale, un code postal ou une combinaison d'une ville et d'un État/d'une province. Voici un exemple d'adresse à New York :

7077e446455639df.png

Vous n'avez rien d'autre à faire dans la feuille de calcul. Ouvrons l'éditeur et écrivons du code.

5. Modifier le code Apps Script

Maintenant que vous avez créé une feuille de calcul Google Sheets, il est temps de modifier le script qui lui est lié. Procédez comme suit :

Ouvrir l'éditeur de script

Dans la barre de menu, sélectionnez Extensions > Apps Script pour ouvrir l'éditeur de code du navigateur pour Apps Script.

Dans un nouvel onglet de navigateur, l'éditeur de code affiche le script lié au conteneur par défaut pour la feuille. Une fonction par défaut nommée myFunction() est automatiquement créée et votre curseur est placé à l'intérieur de la fonction pour que vous puissiez commencer.

Envoyer une carte Google Maps de l'adresse par e-mail

Le code "modèle" qui vous est fourni est vide. Vous allez donc le remplacer par notre application.

  1. Dans l'éditeur de script, remplacez le bloc de code myFunction() par défaut par le code suivant :
/** @OnlyCurrentDoc */
function sendMap() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var address = sheet.getRange('A1').getValue();
  var map = Maps.newStaticMap().addMarker(address);
  GmailApp.sendEmail('YOUR_EMAIL_ADDR', 'Map', 'See below.', {attachments:[map]});
}
  1. Remplacez l'adresse e-mail de l'espace réservé ('YOUR_EMAIL_ADDR') par une adresse valide. Par exemple, friend@example.com.
  2. Pour enregistrer votre script, cliquez sur Enregistrer enregistrer.
  3. Pour renommer votre projet Apps Script, cliquez sur Projet sans titre, saisissez un titre pour votre projet, puis cliquez sur Renommer.

Réviser le code

Examinons les quatre lignes de la fonction sendMap() qui constituent l'intégralité de l'application. Il est intéressant de noter que le code fait référence à trois produits Google différents.

La première ligne est un commentaire d'annotation qui affecte l'autorisation :

/** @OnlyCurrentDoc */

La plupart des scripts demandent à l'utilisateur certaines autorisations avant de pouvoir s'exécuter. Ces autorisations contrôlent ce que l'utilisateur autorise le script à faire. La première ligne est un commentaire contenant une annotation facultative qui indique à Apps Script de limiter l'accès à la feuille de calcul actuelle (par opposition à toutes les feuilles de calcul de l'utilisateur). Il est toujours recommandé d'inclure cette annotation lorsque vous ne travaillez qu'avec un seul fichier.

Le code utilise une déclaration de fonction JavaScript normale pour sendMap() :

function sendMap() {

La ligne suivante appelle le service Spreadsheet accessible à partir d'Apps Script par le biais de l'objet SpreadsheetApp. La feuille renvoyée est attribuée à une variable du même nom. La méthode getActiveSheet() obtient une référence à l'objet de feuille de calcul actuel et la stocke dans la variable sheet.

  var sheet = SpreadsheetApp.getActiveSheet();

Avec l'objet sheet, nous référençons la plage de cellules (d'une cellule spécifique) en notation A1 avec getRange(). Une "plage" est un groupe de cellules, et peut ne concerner qu'une seule cellule comme la nôtre (A1), dans laquelle nous avons saisi l'adresse. Pour récupérer ce qui se trouve dans la plage, la méthode getValue() renvoie la valeur de la cellule en haut à gauche de la plage et l'attribue à la variable address. Vous pouvez également essayer d'ajouter d'autres adresses et de lire le contenu de différentes cellules.

  var address = sheet.getRange('A1').getValue();

La troisième ligne de code se connecte au service Google Maps à l'aide de l'objet Maps. newStaticMap() crée un objet de carte statique et la méthode addMarker() ajoute un "repère" à la carte à l'aide de l'adresse figurant dans la feuille.

  var map = Maps.newStaticMap().addMarker(address);

Enfin, le service Gmail via l'objet MailApp appelle la méthode sendEmail() pour envoyer l'e-mail contenant à la fois le texte "See below." (Voir ci-dessous.) et l'image de la carte en pièce jointe.

  GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}

6. Exécuter l'application Google Sheets, Maps et Gmail

Une fois la fonction nommée et enregistrée, vous pouvez l'exécuter. En haut de l'éditeur, assurez-vous que sendMap() est sélectionné dans la liste des fonctions, puis cliquez sur Exécuter.

Grâce à Apps Script, les développeurs n'ont pas à écrire de code d'autorisation qui accorde au programme l'accès aux données de l'utilisateur. Toutefois, bien qu'Apps Script s'en charge, les utilisateurs de votre application doivent encore autoriser le script à accéder à leurs feuilles de calcul et à envoyer des e-mails via Gmail. La première boîte de dialogue d'autorisation est semblable à celle-ci :

ba6e1a798e404e0d.png

Cliquez sur Examiner les autorisations pour continuer.

Vous voyez alors apparaître la fenêtre de dialogue OAuth2 vous demandant l'autorisation d'accéder à votre feuille et d'envoyer un e-mail en votre nom :

9bed7ef1ccbd7569.png

Une fois que vous avez accordé cette autorisation, le script s'exécute intégralement.

Consultez le compte de messagerie auquel vous avez envoyé votre message. Vous devriez y trouver un e-mail présentant l'objet "Map" (Plan) et un contenu semblable à celui-ci :

51f61fc51a13d28f.png

Lorsque vous ouvrez la pièce jointe dans l'e-mail, vous devriez obtenir un plan Google Maps avec un repère sur l'adresse que vous avez saisie dans la feuille de calcul :

739bb45b75e3f7c7.png

En seulement quatre lignes de code, vous avez accédé à trois produits Google différents de manière efficace.

7. Ressources supplémentaires

Le code figurant dans cet atelier de programmation est également accessible dans son dépôt GitHub à l'adresse github.com/googleworkspace/apps-script-intro-codelab. Vous trouverez ci-dessous d'autres ressources qui vous permettront d'approfondir les aspects abordés dans cet atelier de programmation et de découvrir d'autres moyens d'accéder aux outils Google pour les développeurs de manière programmatique.

Documentation

Vidéos

Informations et actualités

Autres ateliers de programmation

Introduction

Intermédiaire

Applications de référence