Google Apps Script fournit plus de 30 services intégrés permettant d'interagir avec
les données utilisateur, les autres systèmes Google et les systèmes externes. Ces services sont
fournis sous forme d'objets globaux semblables à la norme JavaScript
Math
. Par exemple, tout comme Math
propose des méthodes telles que random()
et
comme PI
, la bibliothèque Apps Script
Le service Spreadsheet propose différentes méthodes :
openById(id)
,
(objets enfants), comme
Range
et les énumérations telles que
DataValidationCriteria
La documentation de référence des services qui contrôlent Google Workspace les produits sont collectés "Google Workspace Services" sous "Référence" dans la barre latérale de ce site. Les services publics comme la création d'interfaces utilisateur, l'analyse XML ou l'écriture de données de journaux) sont collectées. dans les "Services de script" .
Fonctionnalités JavaScript modernes
Apps Script prend en charge deux environnements d'exécution JavaScript: l'environnement d'exécution moderne V8 et un ancien moteur fourni par l'environnement d'exécution Interpréteur JavaScript Rhin.
L'environnement d'exécution V8 est compatible avec les Syntaxe et fonctionnalités d'ECMAScript L'exécution de Rhino est basée sur JavaScript 1.6 standard, ainsi que quelques fonctionnalités de 1.7 et 1,8. Vous pouvez choisir librement l'environnement d'exécution à utiliser avec votre script, mais l'environnement d'exécution V8 est vivement recommandé.
Chaque environnement d'exécution prend en charge les classes et objets JavaScript disponibles pour
en plus de l'API
et les services Google avancés. Votre
les scripts peuvent utiliser
des objets courants tels que
Array
,
Date
,
RegExp
,
et ainsi de suite,
ainsi que
Math
et
Object
des objets globaux.
Utiliser la saisie semi-automatique
L'éditeur de script propose une fonctionnalité d'assistance au contenu plus connue sous le nom de "saisie semi-automatique", qui révèle les objets globaux ainsi que les méthodes et les énumérations valides dans le contexte actuel du script. Des suggestions de saisie semi-automatique s'affichent automatiquement chaque fois que vous saisissez un point après un objet global, une énumération ou une méthode qui renvoie une classe Apps Script. Exemple :
- Si vous saisissez le nom complet d'un objet global
ou que vous en sélectionnez un dans la saisie semi-automatique,
Ensuite, saisissez
.
(un point). Vous verrez toutes les méthodes et énumérations de cette classe. - Si vous saisissez quelques caractères, tous les caractères qui commencent par ces caractères.
Comprendre les objets globaux
Chaque service fournit au moins un objet global (niveau supérieur). Exemple :
le service Gmail n'est accessible qu'à partir
l'objet GmailApp
. Certains services
fournir plusieurs objets globaux ; par exemple,
Le service de base comprend quatre objets globaux:
Browser
Logger
,
MimeType
et
Session
Méthodes d'appel
Les objets globaux de presque tous les appareils Les services avancés incluent les méthodes qui renvoyer des données ou une classe Apps Script. Les scripts effectuent des appels de méthode au format suivant:
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
Par exemple, un script peut envoyer un e-mail en appelant la méthode
sendEmail(recipient, subject, body)
du service Gmail comme suit:
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
Si une méthode renvoie une autre classe Apps Script, vous pouvez enchaîner les appels de méthode sur une
. (Les types renvoyés sont affichés à la fois dans la saisie semi-automatique et dans la référence d'une méthode
documentation.) Par exemple, la méthode
DocumentApp.create()
renvoie un Document
. Ainsi,
les deux sections de code suivantes sont équivalentes:
var doc = DocumentApp.create('New document');
var body = doc.getTab('t.0').asDocumentTab().getBody();
body.appendParagraph('New paragraph.');
// Same result as above.
DocumentApp.create('New document').getTab('t.0').asDocumentTab().getBody()
.appendParagraph('New paragraph.');
Accéder aux classes enfants
Chaque service comprend une ou plusieurs classes enfants inaccessibles depuis
comme un objet global. Vous ne pouvez pas utiliser le mot clé new
pour
créer ces classes, comme vous pouvez le faire avec les classes JavaScript standards telles que
Date
;
vous ne pouvez accéder à une classe enfant qu'en appelant une méthode qui la renvoie. Si vous utilisez
si vous ne savez pas comment accéder à une classe en particulier, consultez la page racine du
documentation de référence et recherchez une méthode qui renvoie la classe souhaitée.
Traiter les interfaces
Quelques services incluent des classes spéciales étiquetées "interfaces"
dans la documentation de référence. Il s'agit de classes génériques utilisées comme types renvoyés
pour les méthodes qui ne peuvent pas déterminer à l'avance le type précis ; Exemple :
La méthode du service Document
Body.getChild(childIndex)
renvoie un objet Element
générique.
Element
est une interface qui représente une autre classe, éventuellement une
Paragraph
ou
Table
Les objets Interface sont rarement
utiles en elles-mêmes ; Au lieu de cela, vous devez généralement appeler une méthode telle que
Element.asParagraph()
pour renvoyer l'objet à une classe précise.
Utiliser des énumérations
La plupart des services incluent quelques énumérations (types énumérés) de valeurs nommées. Pour
Par exemple, le service Drive utilise les énumérations
Access
et
Permission
pour identifier les utilisateurs
ont accès à un fichier
ou à un dossier. Dans presque tous les cas, vous accédez à ces énumérations
de l'objet global. Par exemple, un appel à la méthode
Folder.setSharing(accessType, permissionType)
se présente comme suit:
// Creates a folder that anyone on the Internet can read from and write to. (Domain administrators can
// prohibit this setting for Google Workspace users.)
var folder = DriveApp.createFolder('Shared Folder');
folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);