Integrierte Google-Dienste

Google Apps Script bietet mehr als 30 integrierte Dienste für die Interaktion mit Nutzerdaten, andere Google-Systeme und externe Systeme. Diese Dienste sind werden als globale Objekte bereitgestellt, die dem JavaScript-Standard ähnlich sind. Math -Objekt enthält. So wie Math Methoden wie random() und Konstanten wie PI, Apps Scripts Tabellenkalkulation bietet Methoden wie openById(id), Klassen (untergeordnete Objekte) wie Range und Enums wie DataValidationCriteria.

Die Referenzdokumentation für Dienste, die steuern Google Workspace die Produkte gesammelt werden in „Google Workspace Dienste“ unter dem „Referenz“ in der Seitenleiste dieser Website. Versorgungsdienstleistungen (für Dinge wie das Erstellen von Benutzeroberflächen, das Parsen von XML oder das Schreiben von Protokolldaten), werden erfasst in den „Script Services“ .

Moderne JavaScript-Funktionen

Apps Script unterstützt zwei JavaScript-Laufzeiten: die moderne V8-Laufzeit und eine ältere Version mit der Rhino JavaScript-Interpreter

Die V8-Laufzeit unterstützt moderne ECMAScript-Syntax und -Funktionen Die Rhino-Laufzeit basiert auf der älteren JavaScript 1.6 sowie einige Funktionen von 1.7 und 1.8. Sie können die Laufzeit frei auswählen zur Verwendung mit Ihrem Skript. Die V8-Laufzeit wird jedoch dringend empfohlen.

Jede Laufzeit unterstützt JavaScript-Klassen und -Objekte, die Ihrem neben dem integrierten und erweiterte Google-Dienste. Ihr können gängige Objekte wie Array, Date RegExp, und so weiter, sowie die Math und Object globalen Objekten.

Automatische Vervollständigung verwenden

Der Script-Editor bietet einen „Content Assist“-Modus eine Funktion, „automatische Vervollständigung“, das globale Objekte sowie Methoden und Enums anzeigt. die im aktuellen Kontext des Skripts gültig sind. Vorschläge für die automatische Vervollständigung werden angezeigt. Automatisch immer dann, wenn Sie nach einem globalen Objekt, einer Aufzählung oder einer Methode einen Punkt eingeben aufrufen, der eine Apps Script-Klasse zurückgibt. Beispiel:

  • Wenn Sie den vollständigen Namen eines globalen Objekts eingeben oder eines aus der automatischen Vervollständigung auswählen, Geben Sie dann . (einen Punkt) ein. Daraufhin werden alle Methoden und Aufzählungen für diese Klasse angezeigt.
  • Wenn Sie nur wenige Zeichen eingeben, sehen Sie alle gültigen Vorschläge, die mit diesen Zeichen beginnen.

Informationen zu globalen Objekten

Jeder Dienst stellt mindestens ein globales Objekt (oberste Ebene) bereit. zum Beispiel Der Zugriff auf Gmail erfolgt ausschließlich über GmailApp-Objekt. Einige Dienste mehrere globale Objekte bereitstellen; Beispiel: Der Der Basisdienst umfasst vier globale Objekte: Browser, Logger, MimeType und Session.

Aufrufmethoden

Die globalen Objekte fast aller integrierten oder erweiterte Dienste umfassen Methoden, Daten oder eine Apps Script-Klasse zurückgeben. Skripts führen Methodenaufrufe in folgendem Format aus:

GlobalObjectName.methodName(argument1, argument2, ..., argumentN);

Ein Skript kann z. B. eine E-Mail senden, indem es die Methode sendEmail(recipient, subject, body) des Gmail-Dienstes so:

GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');

Wenn eine Methode eine andere Apps Script-Klasse zurückgibt, können Sie Methodenaufrufe auf einer Zeile. Rückgabetypen werden sowohl in der automatischen Vervollständigung als auch in der Referenz einer Methode angezeigt. documentation.) Die Methode DocumentApp.create() gibt ein Document-Objekt zurück. Somit kann der folgenden zwei Codeabschnitten entsprechen:

var doc = DocumentApp.create('New document');
var body = doc.getBody();
body.appendParagraph('New paragraph.');

// Same result as above.
DocumentApp.create('New document').getBody().appendParagraph('New paragraph.');

Auf untergeordnete Klassen zugreifen

Jeder Dienst enthält eine oder mehrere untergeordnete Klassen, auf die nicht zugegriffen werden kann wie ein globales Objekt dies tun kann. Sie können das Schlüsselwort new nicht für Folgendes verwenden: diese Klassen konstruieren, wie Sie es mit standardmäßigen JavaScript-Klassen wie Date; Sie können nur auf eine untergeordnete Klasse zugreifen, indem Sie eine Methode aufrufen, die sie zurückgibt. Wenn Sie nicht sicher sind, wie Sie auf eine bestimmte Klasse zugreifen können, rufen Sie die Stammseite des Referenzdokumentation und suchen Sie nach einer Methode, die die gewünschte Klasse zurückgibt.

Umgang mit Benutzeroberflächen

Zu einigen Diensten gehören spezielle Klassen, die als „Schnittstellen“ gekennzeichnet sind in der Referenzdokumentation. Dies sind generische Klassen, die als Rückgabetypen verwendet werden für Methoden, die den genauen Typ nicht im Voraus ermitteln können; zum Beispiel Methode Document service Body.getChild(childIndex) gibt ein generisches Element-Objekt zurück. Element ist eine Schnittstelle, die eine andere Klasse darstellt, möglicherweise eine Paragraph oder Table Schnittstellenobjekte sind selten selbst nützlich sein können; stattdessen eine Methode wie diese Element.asParagraph() um das Objekt wieder in eine präzise Klasse umzuwandeln.

Mit Enums arbeiten

Die meisten Dienste enthalten einige Enums (Enumerationstypen) von benannten Werten. Für Der Drive-Dienst verwendet beispielsweise die enum-Typen Access und Permission, um zu ermitteln, welche Nutzer auf eine Datei oder einen Ordner zugreifen können. In fast allen Fällen greifen Sie auf diese Enums zu. aus dem globalen Objekt. Ein Aufruf der Methode Folder.setSharing(accessType, permissionType) sieht so aus:

// 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);