Skriptveröffentlichung und -trigger aufrufen und bearbeiten Mit dieser Klasse können Nutzer Scripts erstellen, löst aus und steuert die Veröffentlichung des Skripts als Dienst.
Attribute
Attribut | Typ | Beschreibung |
---|---|---|
AuthMode | AuthMode | Eine Aufzählung, aus der hervorgeht, welche Kategorien autorisierter Dienste Apps Script ausführen kann durch eine ausgelöste Funktion ausgeführt werden. |
AuthorizationStatus | AuthorizationStatus | Eine Aufzählung, die den Autorisierungsstatus eines Skripts angibt. |
EventType | EventType | Eine Aufzählung, die den Typ des ausgelösten Ereignisses angibt. |
InstallationSource | InstallationSource | Eine Aufzählung, die angibt, wie das Skript für den Nutzer als Add-on installiert wurde. |
TriggerSource | TriggerSource | Eine Aufzählung, die die Quelle des Ereignisses angibt, durch das der Trigger ausgelöst wird. |
WeekDay | Weekday | Eine Aufzählung, die die Wochentage darstellt. |
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
deleteTrigger(trigger) | void | Entfernt den angegebenen Trigger, sodass er nicht mehr ausgeführt wird. |
getAuthorizationInfo(authMode) | AuthorizationInfo | Ruft ein Objekt ab, mit dem bestimmt wird, ob der Nutzer dieses Skript zur Verwendung eines oder und die URL für ein Dialogfeld für die Autorisierung angeben. |
getIdentityToken() | String | Ruft ein OpenID Connect-Identitätstoken für die
aktiver Nutzer, wenn der Geltungsbereich openid gewährt wurde. |
getInstallationSource() | InstallationSource | Gibt einen Aufzählungswert zurück, der angibt, wie das Skript als Add-on für den Aktueller Nutzer (z. B. ob der Nutzer die App persönlich über den Chrome Web Store installiert hat) oder ob ein Domainadministrator den Browser für alle Nutzer installiert hat. |
getOAuthToken() | String | Ruft den OAuth 2.0-Zugriff ab Token für den aktiven Nutzer. |
getProjectTriggers() | Trigger[] | Ruft alle installierbaren Trigger ab, die mit dem aktuellen Projekt und dem aktuellen Nutzer verknüpft sind. |
getScriptId() | String | Ruft die eindeutige ID des Skriptprojekts ab. |
getService() | Service | Ruft ein Objekt ab, mit dem die Veröffentlichung des Skripts als Web-App gesteuert wird. |
getUserTriggers(document) | Trigger[] | Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Dokument für dieses Skript oder Add-on. |
getUserTriggers(form) | Trigger[] | Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Format für dieses Skript oder Add-on gehören . |
getUserTriggers(spreadsheet) | Trigger[] | Ruft alle installierbaren Trigger ab, die diesem Nutzer in der angegebenen Tabelle für dieses Skript oder Add-on. |
invalidateAuth() | void | Die Autorisierung, die der aktive Nutzer zum Ausführen des aktuellen Skripts hat, wird ungültig. |
newStateToken() | StateTokenBuilder | Erstellt einen Builder für ein Statustoken, das in einer Callback-API (wie einem OAuth-Ablauf) verwendet werden kann. |
newTrigger(functionName) | TriggerBuilder | Startet das Erstellen eines installierbaren Triggers, der beim Auslösen eine bestimmte Funktion aufruft. |
Detaillierte Dokumentation
deleteTrigger(trigger)
Entfernt den angegebenen Trigger, sodass er nicht mehr ausgeführt wird.
// Deletes all triggers in the current project. var triggers = ScriptApp.getProjectTriggers(); for (var i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
trigger | Trigger | Der zu löschende Trigger. |
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/script.scriptapp
getAuthorizationInfo(authMode)
Ruft ein Objekt ab, mit dem bestimmt wird, ob der Nutzer dieses Skript zur Verwendung eines oder und die URL für ein Dialogfeld für die Autorisierung angeben. Ob das Skript veröffentlicht wurde als Add-on mit installierbaren Triggern verwenden, lassen sich diese Informationen wird verwendet, um den Zugriff auf Codeabschnitte zu steuern, für die den Nutzenden die erforderlichen Autorisierung. Alternativ kann der Nutzer vom Add-on aufgefordert werden, die URL für die Autorisierung zu öffnen. um das Problem zu beheben.
var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); status = authInfo.getAuthorizationStatus(); url = authInfo.getAuthorizationUrl();
Parameter
Name | Typ | Beschreibung |
---|---|---|
authMode | AuthMode | den Autorisierungsmodus, für den Autorisierungsinformationen angefordert werden in
In fast allen Fällen sollte der Wert für authMode ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) sein, da kein anderer Autorisierungsmodus
erfordert, dass Nutzer die Autorisierung erteilen |
Rückflug
AuthorizationInfo
– ein Objekt, das Informationen zum Autorisierungsstatus des Nutzers liefern kann
getIdentityToken()
Ruft ein OpenID Connect-Identitätstoken für die
aktiver Nutzer, wenn der Geltungsbereich openid
gewährt wurde. Dieser Bereich ist nicht enthalten
standardmäßig und müssen im Manifest als expliziten Bereich hinzugefügt werden
-Datei, um sie anzufordern. Schließen Sie die Bereiche https://www.googleapis.com/auth/userinfo.email
oder https://www.googleapis.com/auth/userinfo.profile
ein, um zusätzliche
Nutzerinformationen im Token.
Das zurückgegebene ID-Token ist ein codiertes JSON-Webtoken (JWT). muss er decodiert werden, um Informationen daraus zu extrahieren. Die folgenden Beispiele zeigen, wie die das Token und extrahieren Sie die Google-Profil-ID des aktiven Nutzers.
var idToken = ScriptApp.getIdentityToken(); var body = idToken.split('.')[1]; var decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString(); var payload = JSON.parse(decoded); var profileId = payload.sub; Logger.log('Profile ID: ' + profileId);
Rückflug
String
: das Identitätstoken, falls verfügbar andernfalls null
.
getInstallationSource()
Gibt einen Aufzählungswert zurück, der angibt, wie das Skript als Add-on für den Aktueller Nutzer (z. B. ob der Nutzer die App persönlich über den Chrome Web Store installiert hat) oder ob ein Domainadministrator den Browser für alle Nutzer installiert hat.
Rückflug
InstallationSource
: Die Quelle der Installation.
getOAuthToken()
Ruft den OAuth 2.0-Zugriff ab Token für den aktiven Nutzer. Wenn die OAuth-Bereiche des Skripts zur Autorisierung ausreichen eine andere Google API verwenden, die normalerweise einen eigenen OAuth-Ablauf benötigt (z. B. Google Picker), können Skripts den Autorisierungsaufforderung verwenden, indem Sie stattdessen dieses Token übergeben. Das Token läuft nach einer bestimmten Zeit (a mindestens ein paar Minuten); sollten die Skripte mit Autorisierungsfehlern umgehen und diese Methode aufrufen, fordern Sie bei Bedarf ein neues Token an.
Das von dieser Methode zurückgegebene Token enthält nur Bereiche, die das Skript derzeit benötigt. Bereiche, die zuvor autorisiert waren, aber nicht mehr vom Skript verwendet werden, sind nicht enthalten in das zurückgegebene Token. Wenn zusätzliche OAuth-Bereiche erforderlich sind, die über das Skript selbst hinausgehen können im Skript angegeben werden, Manifestdatei.
Rückflug
String
: Eine Stringdarstellung des OAuth 2.0-Tokens.
getProjectTriggers()
Ruft alle installierbaren Trigger ab, 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
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/script.scriptapp
getScriptId()
Ruft die eindeutige ID des Skriptprojekts ab. Dies ist die bevorzugte Methode zum Abrufen der eindeutigen ID.
für das Skriptprojekt und nicht für
. Diese ID kann überall verwendet werden
bei denen zuvor der Projektschlüssel angegeben wurde.getProjectKey()
Rückflug
String
: Die ID des Skriptprojekts.
getService()
Ruft ein Objekt ab, mit dem die Veröffentlichung des Skripts als Web-App gesteuert wird.
// Get the URL of the published web app. var url = ScriptApp.getService().getUrl();
Rückflug
Service
: Ein Objekt, mit dem die Veröffentlichung des Skripts als Web-App beobachtet und gesteuert wird.
getUserTriggers(document)
Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Dokument für dieses Skript oder Add-on. Diese Methode kann nicht verwendet werden, um die Trigger zu sehen, die mit anderen Skripts verknüpft sind.
var doc = DocumentApp.getActiveDocument(); var 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 Triggern, die diesem Nutzer im jeweiligen Dokument gehören.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(form)
Ruft alle installierbaren Trigger ab, die diesem Nutzer im angegebenen Format für dieses Skript oder Add-on gehören . Diese Methode kann nicht verwendet werden, um die Trigger zu sehen, die mit anderen Skripts verknüpft sind.
var form = FormApp.getActiveForm(); var 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 Formulare-Datei, die installierbare Trigger enthalten kann. |
Rückflug
Trigger[]
: Ein Array von Triggern, die diesem Nutzer im angegebenen Format gehören.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(spreadsheet)
Ruft alle installierbaren Trigger ab, die diesem Nutzer in der angegebenen Tabelle für dieses Skript oder Add-on verfügbar. Diese Methode kann nicht verwendet werden, um die Trigger zu sehen, die mit anderen Skripts verknüpft sind.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var 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
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/script.scriptapp
invalidateAuth()
Die Autorisierung, die der aktive Nutzer zum Ausführen des aktuellen Skripts hat, wird ungültig. Verwendungszweck alle Berechtigungen für das aktuelle Skript ungültig machen. Dies ist besonders nützlich für Funktionen, als One-Shot-Autorisierung gekennzeichnet. Da Autorisierungsfunktionen mit einer einzigen Aufnahme nur als Aufruf des wenn Sie eine Aktion ausführen möchten, nachdem das Skript die Autorisierung eingeholt hat. Danach müssen Sie alle Autorisierungen widerrufen, die das Skript hatte, damit der Nutzer die Dialogfeld für die Autorisierung noch einmal.
ScriptApp.invalidateAuth();
Löst aus
Error
– wenn die Entwertung fehlschlägt
newStateToken()
Erstellt einen Builder für ein Statustoken, das in einer Callback-API (wie 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. var scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; var urlSuffix = '/usercallback?state='; var stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
In den meisten OAuth2-Abläufen wird das state
-Token an den Autorisierungsendpunkt übergeben.
direkt (nicht als Teil der Rückruf-URL) und der Autorisierungsendpunkt übergibt sie als
Teil der Callback-URL sein.
Beispiel:
- Das Skript leitet den Nutzer an die 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 die OAuth2-Autorisierungsseite leitet ihn zurück zu
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
- Die obige Weiterleitung (zurück zu
http://script.google.com/...
) führt dazu, dass der Browser Anfrage an/usercallback
, die die vonStateTokenBuilder.withMethod(method)
angegebene Methode aufruft.
Rückflug
StateTokenBuilder
: Ein Objekt, mit dem die Statustokenerstellung fortgesetzt wird.
newTrigger(functionName)
Startet das Erstellen eines installierbaren Triggers, 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 |
---|---|---|
functionName | String | Die Funktion, die aufgerufen werden soll, wenn der Trigger ausgelöst wird. Sie können Funktionen aus der
enthaltene Bibliotheken, z. B. Library.libFunction1 . |
Rückflug
TriggerBuilder
: Ein Objekt, mit dem der Triggererstellungsprozess fortgesetzt wird.
Autorisierung
Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:
-
https://www.googleapis.com/auth/script.scriptapp