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 werden als globale Objekte bereitgestellt, ähnlich dem Standardobjekt Math von JavaScript. So wie Math Methoden wie random() und Konstanten wie PI bietet, bietet der Tabellendienst von Apps Script Methoden wie openById(id), Klassen (untergeordnete Objekte) wie Range und Enumerationen wie DataValidationCriteria.

Die Referenzdokumentation für Dienste, dieGoogle Workspace -Produkte steuern, finden Sie in der Seitenleiste dieser Website im Abschnitt „Google Workspace Dienste“ unter der Überschrift „Referenz“. 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-Laufzeitumgebung 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 und dann . (ein Punkt) eingeben, werden alle Methoden und Enumerationen für diese Klasse angezeigt.
  • Wenn Sie einige Zeichen eingeben, werden alle gültigen Vorschläge angezeigt, die mit diesen Zeichen beginnen.

Informationen zu globalen Objekten

Jeder Dienst stellt mindestens ein globales Objekt (Ebene 1) bereit. Beispielsweise wird auf den Gmail-Dienst ausschließlich über das Objekt GmailApp zugegriffen. Einige Dienste stellen mehrere globale Objekte bereit. Der Base-Dienst umfasst beispielsweise 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 Script kann beispielsweise eine E-Mail senden, indem die Methode sendEmail(recipient, subject, body) des Gmail-Dienstes aufgerufen wird:

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 in einer Zeile verketten. Rückgabetypen werden sowohl in der automatischen Vervollständigung als auch in der Referenzdokumentation einer Methode angezeigt. 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.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.');

Auf untergeordnete Kurse 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

Einige Dienste umfassen spezielle Klassen, die in der Referenzdokumentation als „Schnittstellen“ gekennzeichnet sind. 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 für sich allein nützlich. Stattdessen sollten Sie normalerweise eine Methode wie Element.asParagraph() aufrufen, um das Objekt in eine bestimmte Klasse zu werfen.

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 über das globale Objekt auf diese Enumerationen zu. 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);