Auf Script-Veröffentlichungen und Trigger zugreifen und sie bearbeiten. Mit dieser Klasse können Nutzer Script-Trigger erstellen und die Veröffentlichung des Scripts als Dienst steuern.
Attribute
Attribut | Typ | Beschreibung |
---|---|---|
Auth | Auth | Eine Aufzählung, die angibt, welche Kategorien von autorisierten Diensten in Apps Script über eine ausgelöste Funktion ausgeführt werden können. |
Authorization | Authorization | Eine Aufzählung, die den Autorisierungsstatus eines Scripts angibt. |
Event | Event | Eine Aufzählung, die den Typ des ausgelösten Ereignisses angibt. |
Installation | Installation | Eine Aufzählung, die angibt, wie das Script als Add-on für den Nutzer installiert wurde. |
Trigger | Trigger | Eine Aufzählung, die die Quelle des Ereignisses angibt, das den Trigger auslöst. |
Week | Weekday | Eine Aufzählung, die die Wochentage darstellt. |
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
delete | void | Der angegebene Trigger wird entfernt, sodass er nicht mehr ausgeführt wird. |
get | Authorization | Ruft ein Objekt ab, das prüft, ob der Nutzer die Autorisierung für alle Scriptanforderungen erteilt hat. |
get | Authorization | Hiermit wird ein Objekt abgerufen, das prüft, ob der Nutzer die Autorisierung für die angeforderten Bereiche erteilt hat. |
get | String | Ruft ein Openopenid gewährt wurde. |
get | Installation | Gibt einen Enum-Wert zurück, der angibt, wie das Script als Add-on für den aktuellen Nutzer installiert wurde (z. B. ob der Nutzer es selbst über den Chrome Web Store installiert hat oder ob es von einem Domainadministrator für alle Nutzer installiert wurde). |
get | String | Ruft das OAuth 2.0-Zugriffstoken für den effektiven Nutzer ab. |
get | Trigger[] | Alle installierbaren Trigger abrufen, die mit dem aktuellen Projekt und dem aktuellen Nutzer verknüpft sind. |
get | String | Ruft die eindeutige ID des Script-Projekts ab. |
get | Service | Hiermit wird ein Objekt abgerufen, mit dem die Veröffentlichung des Scripts als Webanwendung gesteuert wird. |
get | Trigger[] | Hiermit werden alle installierbaren Trigger abgerufen, die diesem Nutzer im angegebenen Dokument gehören, und zwar nur für dieses Script oder Add-on. |
get | Trigger[] | Hiermit werden alle installierbaren Trigger abgerufen, die diesem Nutzer im angegebenen Formular gehören, und zwar nur für dieses Script oder Add-on. |
get | Trigger[] | Hiermit werden alle installierbaren Trigger abgerufen, die diesem Nutzer in der angegebenen Tabelle gehören, und zwar nur für dieses Script oder Add-on. |
invalidate | void | Macht die Autorisierung ungültig, die der effektive Nutzer zum Ausführen des aktuellen Scripts hat. |
new | State | Erstellt einen Builder für ein Statustoken, das in einer Callback-API (z. B. einem OAuth-Ablauf) verwendet werden kann. |
new | Trigger | Hiermit wird der Prozess zum Erstellen eines installierbaren Triggers gestartet, der beim Auslösen eine bestimmte Funktion aufruft. |
require | void | Prüft, ob der Nutzer seine Einwilligung für alle vom Script angeforderten Bereiche erteilt hat. |
require | void | Prüft, ob der Nutzer die Einwilligung für die angeforderten Zugriffsbereiche erteilt hat. |
Detaillierte Dokumentation
delete Trigger(trigger)
Der angegebene Trigger wird entfernt und wird nicht mehr ausgeführt.
// Deletes all triggers in the current project. const triggers = ScriptApp.getProjectTriggers(); for (let i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
trigger | Trigger | Der zu löschende Trigger. |
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
get Authorization Info(authMode)
Ruft ein Objekt ab, das prüft, ob der Nutzer die Autorisierung für alle Scriptanforderungen erteilt hat. Das Objekt enthält auch eine Autorisierungs-URL, über die Nutzer diese Berechtigungen gewähren können, falls eine der Scriptanforderungen nicht autorisiert ist.
Einige Scriptausführungen können gestartet werden, ohne dass der Nutzer für alle erforderlichen Bereiche, die vom Script verwendet werden, seine Einwilligung erteilt hat. Mit den Informationen in diesem Objekt können Sie den Zugriff auf Codeabschnitte steuern, für die bestimmte Bereiche erforderlich sind, und die Autorisierung dieser Bereiche für nachfolgende Ausführungen anfordern.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Parameter
Name | Typ | Beschreibung |
---|---|---|
auth | Auth | Der Autorisierungsmodus, für den Autorisierungsinformationen angefordert werden. In fast allen Fällen sollte der Wert für auth Script sein, da bei keinem anderen Autorisierungsmodus Nutzer die Autorisierung erteilen müssen. |
Rückflug
Authorization
: Ein Objekt, das Informationen zum Autorisierungsstatus des Nutzers liefern kann.
get Authorization Info(authMode, oAuthScopes)
Hiermit wird ein Objekt abgerufen, das prüft, ob der Nutzer die Autorisierung für die angeforderten Bereiche erteilt hat. Das Objekt enthält auch eine Autorisierungs-URL, über die Nutzer diese Berechtigungen gewähren können, falls einer der angeforderten Bereiche nicht autorisiert ist.
Einige Scriptausführungen können gestartet werden, ohne dass der Nutzer für alle erforderlichen Bereiche, die vom Script verwendet werden, seine Einwilligung erteilt hat. Mit den Informationen in diesem Objekt können Sie den Zugriff auf Codeabschnitte steuern, für die bestimmte Bereiche erforderlich sind, und die Autorisierung dieser Bereiche für nachfolgende Ausführungen anfordern. Gültige oder vom Script nicht erforderliche Bereiche führen zu einem Fehler.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Parameter
Name | Typ | Beschreibung |
---|---|---|
auth | Auth | Der Autorisierungsmodus, für den Autorisierungsinformationen angefordert werden. In fast allen Fällen sollte der Wert für auth Script sein, da bei keinem anderen Autorisierungsmodus Nutzer die Autorisierung erteilen müssen. |
oAuthScopes | String[] | Die OAuth-Bereiche, für die Autorisierungsinformationen angefordert werden. |
Rückflug
Authorization
: Ein Objekt mit Informationen zum Autorisierungsstatus des Nutzers und einer Autorisierungs-URL für den Fall, dass einige Einwilligungen fehlen.
get Identity Token()
Ruft ein Openopenid
gewährt wurde. Dieser Bereich ist nicht standardmäßig enthalten. Sie müssen ihn als expliziten Bereich in die Manifestdatei einfügen, um ihn anzufordern. Fügen Sie die Bereiche https://www.googleapis.com/auth/userinfo.email
oder https://www.googleapis.com/auth/userinfo.profile
hinzu, um zusätzliche Nutzerinformationen im Token zurückzugeben.
Das zurückgegebene ID-Token ist ein codiertes JSON Web Token (JWT). Es muss decodiert werden, um Informationen daraus zu extrahieren. In den folgenden Beispielen wird gezeigt, wie das Token decodiert und die Google-Profil-ID des effektiven Nutzers extrahiert wird.
const idToken = ScriptApp.getIdentityToken(); const body = idToken.split('.')[1]; const decoded = Utilities .newBlob( Utilities.base64Decode(body), ) .getDataAsString(); const payload = JSON.parse(decoded); Logger.log(`Profile ID: ${payload.sub}`);
Rückflug
String
: Das Identitätstoken, falls verfügbar, andernfalls null
.
get Installation Source()
Gibt einen Enum-Wert zurück, der angibt, wie das Script als Add-on für den aktuellen Nutzer installiert wurde (z. B. ob der Nutzer es selbst über den Chrome Web Store installiert hat oder ob es von einem Domainadministrator für alle Nutzer installiert wurde).
Rückflug
Installation
– Die Installationsquelle.
get OAuth Token()
Ruft das OAuth 2.0-Zugriffstoken für den effektiven Nutzer ab. Wenn die OAuth-Bereiche des Scripts ausreichen, um eine andere Google API zu autorisieren, für die normalerweise ein eigener OAuth-Ablauf erforderlich ist (z. B. Google Picker), können Scripts die zweite Autorisierungsanfrage umgehen, indem sie stattdessen dieses Token übergeben. Das Token läuft nach einer bestimmten Zeit ab (mindestens ein paar Minuten). Scripts sollten Autorisierungsfehler behandeln und diese Methode aufrufen, um bei Bedarf ein neues Token abzurufen.
Das von dieser Methode zurückgegebene Token enthält nur die Bereiche, die das Script derzeit benötigt. Berechtigungen, die zuvor autorisiert wurden, aber vom Script nicht mehr verwendet werden, sind nicht im zurückgegebenen Token enthalten. Wenn zusätzliche OAuth-Bereiche erforderlich sind, die über das Script selbst hinausgehen, können sie in der Manifestdatei des Scripts angegeben werden.
Rückflug
String
: Eine Stringdarstellung des OAuth 2.0-Tokens.
get Project Triggers()
Alle installierbaren Trigger abrufen, die mit dem aktuellen Projekt und dem aktuellen Nutzer verknüpft sind.
Logger.log( `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`, );
Rückflug
Trigger[]
: Ein Array der Trigger des aktuellen Nutzers, die mit diesem Projekt verknüpft sind.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
get Script Id()
Ruft die eindeutige ID des Script-Projekts ab. Dies ist die bevorzugte Methode, um die eindeutige Kennung für das Script-Projekt abzurufen, im Gegensatz zu
. Diese ID kann an allen Stellen verwendet werden, an denen zuvor der Projektschlüssel angegeben wurde.get
Rückflug
String
: Die ID des Scriptprojekts.
get Service()
Hiermit wird ein Objekt abgerufen, mit dem die Veröffentlichung des Scripts als Webanwendung gesteuert wird.
// Get the URL of the published web app. const url = ScriptApp.getService().getUrl();
Rückflug
Service
: Ein Objekt, mit dem das Veröffentlichen des Scripts als Webanwendung beobachtet und gesteuert wird.
get User Triggers(document)
Hiermit werden alle installierbaren Trigger abgerufen, die diesem Nutzer im angegebenen Dokument gehören, und zwar nur für dieses Script oder Add-on. Mit dieser Methode können Sie nicht die Trigger sehen, die mit anderen Scripts verknüpft sind.
const doc = DocumentApp.getActiveDocument(); const triggers = ScriptApp.getUserTriggers(doc); // Log the handler function for the first trigger in the array. Logger.log(triggers[0].getHandlerFunction());
Parameter
Name | Typ | Beschreibung |
---|---|---|
document | Document | Eine Google Docs-Datei, die installierbare Trigger enthalten kann. |
Rückflug
Trigger[]
: Ein Array von Auslösern, die diesem Nutzer im angegebenen Dokument gehören.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(form)
Hiermit werden alle installierbaren Trigger abgerufen, die diesem Nutzer im angegebenen Formular gehören, und zwar nur für dieses Script oder Add-on. Mit dieser Methode können Sie nicht die Trigger sehen, die mit anderen Scripts verknüpft sind.
const form = FormApp.getActiveForm(); const triggers = ScriptApp.getUserTriggers(form); // Log the trigger source for the first trigger in the array. Logger.log(triggers[0].getTriggerSource());
Parameter
Name | Typ | Beschreibung |
---|---|---|
form | Form | Eine Google Forms-Datei, die installierbare Trigger enthalten kann. |
Rückflug
Trigger[]
: Ein Array von Triggern, die diesem Nutzer im angegebenen Formular gehören.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(spreadsheet)
Hiermit werden alle installierbaren Trigger abgerufen, die diesem Nutzer in der angegebenen Tabelle gehören, und zwar nur für dieses Script oder Add-on. Mit dieser Methode können Sie nicht die Trigger sehen, die mit anderen Scripts verknüpft sind.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const triggers = ScriptApp.getUserTriggers(ss); // Log the event type for the first trigger in the array. Logger.log(triggers[0].getEventType());
Parameter
Name | Typ | Beschreibung |
---|---|---|
spreadsheet | Spreadsheet | Eine Google Tabellen-Datei, die installierbare Trigger enthalten kann. |
Rückflug
Trigger[]
: Ein Array von Triggern, die diesem Nutzer in der angegebenen Tabelle gehören.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
invalidate Auth()
Macht die Autorisierung ungültig, die der effektive Nutzer zum Ausführen des aktuellen Scripts hat. Damit werden alle Berechtigungen für das aktuelle Script ungültig gemacht. Das ist besonders nützlich für Funktionen, die als einmalige Autorisierung getaggt sind. Da Funktionen für die einmalige Autorisierung nur beim ersten Ausführen nach der Autorisierung des Scripts aufgerufen werden können, müssen Sie alle Autorisierungen für das Script widerrufen, wenn Sie danach eine Aktion ausführen möchten, damit der Nutzer das Autorisierungsdialogfeld noch einmal sehen kann.
ScriptApp .invalidateAuth();
Löst
Error
– wenn die Aufhebung fehlschlägt
new State Token()
Erstellt einen Builder für ein Statustoken, das in einer Callback-API (z. B. einem OAuth-Ablauf) verwendet werden kann.
// Generate a callback URL, given the name of a callback function. The script // does not need to be published as a web app; the /usercallback URL suffix // replaces /edit in any script's URL. function getCallbackURL(callbackFunction) { // IMPORTANT: Replace string below with the URL from your script, minus the // /edit at the end. const scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; const urlSuffix = '/usercallback?state='; const stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
Bei den meisten OAuth2-Abläufen wird das state
-Token direkt (nicht als Teil der Rückruf-URL) an den Autorisierungsendpunkt übergeben, der es dann als Teil der Rückruf-URL weitergibt.
Beispiel:
- Das Script leitet den Nutzer zur OAuth2-Autorisierungs-URL weiter:
https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
- Der Nutzer klickt auf „Autorisieren“ und wird von der OAuth2-Autorisierungsseite zurück zu
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
weitergeleitet. - Die obige Weiterleitung (zurück zu
http://script.google.com/...
) führt dazu, dass der Browser eine Anfrage an/usercallback
sendet, wodurch die vonState
angegebene Methode aufgerufen wird.Token Builder.withMethod(method)
Rückflug
State
: Ein Objekt, mit dem der Prozess zum Erstellen des Statustokens fortgesetzt wird.
new Trigger(functionName)
Hiermit wird der Prozess zum Erstellen eines installierbaren Triggers gestartet, der beim Auslösen eine bestimmte Funktion aufruft.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
Parameter
Name | Typ | Beschreibung |
---|---|---|
function | String | Die Funktion, die aufgerufen werden soll, wenn der Trigger ausgelöst wird. Sie können Funktionen aus den enthaltenen Bibliotheken wie Library.libFunction1 verwenden. |
Rückflug
Trigger
: Ein Objekt, mit dem Sie den Trigger erstellen können.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.scriptapp
require All Scopes(authMode)
Prüft, ob der Nutzer seine Einwilligung für alle vom Script angeforderten Bereiche erteilt hat. Verwenden Sie diese Methode, wenn ein Ausführungsablauf auf allen Bereichen basiert, die ein Script anfordert. Wenn eine Einwilligung fehlt, beendet diese Methode die aktuelle Ausführung und zeigt eine Autorisierungsaufforderung an, um die fehlenden Einwilligungen anzufordern.
Diese Methode funktioniert nur, wenn Nutzer das Script über eine Oberfläche ausführen, die die detaillierte Einwilligung unterstützt, z. B. über die Apps Script IDE. Wenn das Script mit fehlenden Einwilligungen von einer nicht unterstützten Oberfläche wie einem Google Workspace-Add-on ausgeführt wird, wird zu Beginn der Ausführung eine Autorisierungsanfrage angezeigt, um alle Bereiche anzufordern.
ScriptApp .requireAllScopes(ScriptApp.AuthMode.FULL);
Parameter
Name | Typ | Beschreibung |
---|---|---|
auth | Auth | Der Autorisierungsmodus, für den Script-Zugriffsbereiche ausgewertet werden müssen. In fast allen Fällen sollte der Wert für auth Script sein, da bei keinem anderen Autorisierungsmodus Nutzer die Autorisierung erteilen müssen. |
require Scopes(authMode, oAuthScopes)
Prüft, ob der Nutzer seine Einwilligung für die angeforderten Zugriffsbereiche erteilt hat. Verwenden Sie diese Methode, wenn ein Ausführungsablauf auf einen oder mehrere Dienste angewiesen ist. Wenn eine der angegebenen Einwilligungen fehlt, wird die aktuelle Ausführung durch diese Methode beendet und eine Autorisierungsaufforderung angezeigt, um die fehlenden Einwilligungen anzufordern. Gültige oder vom Script nicht erforderliche Bereiche führen zu einem Fehler.
Diese Methode funktioniert nur, wenn Nutzer das Script über eine Oberfläche ausführen, die die detaillierte Einwilligung unterstützt, z. B. über die Apps Script IDE. Wenn das Script mit fehlenden Einwilligungen von einer nicht unterstützten Oberfläche wie einem Google Workspace-Add-on ausgeführt wird, wird zu Beginn der Ausführung eine Autorisierungsanfrage angezeigt, um alle Bereiche anzufordern.
ScriptApp .requireScopes(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]);
Parameter
Name | Typ | Beschreibung |
---|---|---|
auth | Auth | Der Autorisierungsmodus, für den die angeforderten Bereiche ausgewertet werden müssen. In fast allen Fällen sollte der Wert für auth Script sein, da bei keinem anderen Autorisierungsmodus Nutzer die Autorisierung erteilen müssen. |
oAuthScopes | String[] | Die OAuth-Bereiche, die für die Ausführung des jeweiligen Ablaufs erforderlich sind. |