Accéder à la publication de scripts et aux déclencheurs, et les manipuler. Cette classe permet aux utilisateurs de créer des déclencheurs de script et de contrôler la publication du script en tant que service.
Propriétés
Propriété | Type | Description |
---|---|---|
Auth | Auth | Énumération qui identifie les catégories de services autorisés qu'Apps Script peut exécuter via une fonction déclenchée. |
Authorization | Authorization | Énumération indiquant l'état d'autorisation d'un script. |
Event | Event | Énumération indiquant le type d'événement déclenché. |
Installation | Installation | Énumération indiquant comment le script a été installé pour l'utilisateur en tant que module complémentaire. |
Trigger | Trigger | Énumération indiquant la source de l'événement qui déclenche le déclencheur. |
Week | Weekday | Énumération représentant les jours de la semaine. |
Méthodes
Méthode | Type renvoyé | Brève description |
---|---|---|
delete | void | Supprime le déclencheur donné afin qu'il ne s'exécute plus. |
get | Authorization | Obtient un objet qui vérifie si l'utilisateur a accordé l'autorisation pour toutes les exigences du script. |
get | Authorization | Obtient un objet qui vérifie si l'utilisateur a accordé l'autorisation pour les scopes demandés. |
get | String | Obtient un jeton d'identité Openopenid a été accordé. |
get | Installation | Renvoie une valeur d'énumération qui indique comment le script a été installé en tant que module complémentaire pour l'utilisateur actuel (par exemple, si l'utilisateur l'a installé personnellement via le Chrome Web Store ou si un administrateur de domaine l'a installé pour tous les utilisateurs). |
get | String | Obtient le jeton d'accès OAuth 2.0 pour l'utilisateur effectif. |
get | Trigger[] | Récupère tous les déclencheurs installables associés au projet et à l'utilisateur actuels. |
get | String | Récupère l'ID unique du projet de script. |
get | Service | Obtient un objet utilisé pour contrôler la publication du script en tant qu'application Web. |
get | Trigger[] | Renvoie tous les déclencheurs installables appartenant à cet utilisateur dans le document donné, uniquement pour ce script ou ce module complémentaire. |
get | Trigger[] | Renvoie tous les déclencheurs installables appartenant à cet utilisateur dans le formulaire donné, uniquement pour ce script ou ce module complémentaire. |
get | Trigger[] | Récupère tous les déclencheurs installables appartenant à cet utilisateur dans la feuille de calcul donnée, uniquement pour ce script ou ce module complémentaire. |
invalidate | void | Invalide l'autorisation dont dispose l'utilisateur effectif pour exécuter le script actuel. |
new | State | Crée un compilateur pour un jeton d'état pouvant être utilisé dans une API de rappel (comme un flux OAuth). |
new | Trigger | Démarre le processus de création d'un déclencheur installable qui, lorsqu'il est déclenché, appelle une fonction donnée. |
require | void | Valide si l'utilisateur a donné son consentement pour toutes les habilitations demandées par le script. |
require | void | Valide si l'utilisateur a donné son consentement pour les niveaux d'accès demandés. |
Documentation détaillée
delete Trigger(trigger)
Supprime le déclencheur donné afin qu'il ne s'exécute plus.
// Deletes all triggers in the current project. const triggers = ScriptApp.getProjectTriggers(); for (let i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Paramètres
Nom | Type | Description |
---|---|---|
trigger | Trigger | Déclencheur à supprimer. |
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.scriptapp
get Authorization Info(authMode)
Obtient un objet qui vérifie si l'utilisateur a accordé l'autorisation pour toutes les exigences du script. L'objet fournit également une URL d'autorisation permettant aux utilisateurs d'accorder ces autorisations, au cas où l'une des exigences du script ne serait pas autorisée.
Certaines exécutions de script peuvent démarrer sans le consentement de l'utilisateur pour toutes les habilitations requises utilisées par le script. Les informations de cet objet vous permettent de contrôler l'accès aux sections de code qui nécessitent certains niveaux d'accès et de demander l'autorisation de ces niveaux d'accès pour les exécutions ultérieures.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Paramètres
Nom | Type | Description |
---|---|---|
auth | Auth | Mode d'autorisation pour lequel des informations d'autorisation sont demandées. Dans la plupart des cas, la valeur de auth doit être Script , car aucun autre mode d'autorisation n'exige que les utilisateurs accordent une autorisation. |
Renvois
Authorization
: objet pouvant fournir des informations sur l'état d'autorisation de l'utilisateur.
get Authorization Info(authMode, oAuthScopes)
Obtient un objet qui vérifie si l'utilisateur a accordé l'autorisation pour les scopes demandés. L'objet fournit également une URL d'autorisation permettant aux utilisateurs d'accorder ces autorisations, au cas où l'un des champs d'application demandés ne serait pas autorisé.
Certaines exécutions de script peuvent démarrer sans le consentement de l'utilisateur pour toutes les habilitations requises utilisées par le script. Les informations de cet objet vous permettent de contrôler l'accès aux sections de code qui nécessitent certains niveaux d'accès et de demander l'autorisation de ces niveaux d'accès pour les exécutions ultérieures. Les champs d'application non valides ou non requis par le script entraînent une erreur.
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();
Paramètres
Nom | Type | Description |
---|---|---|
auth | Auth | Mode d'autorisation pour lequel des informations d'autorisation sont demandées. Dans presque tous les cas, la valeur de auth doit être Script , car aucun autre mode d'autorisation n'exige que les utilisateurs accordent une autorisation. |
oAuthScopes | String[] | Champs d'application OAuth pour lesquels des informations d'autorisation sont demandées. |
Renvois
Authorization
: objet qui fournit des informations sur l'état d'autorisation de l'utilisateur et une URL d'autorisation en cas d'absence de certains consentements.
get Identity Token()
Obtient un jeton d'identité Openopenid
a été accordé. Ce champ d'application n'est pas inclus par défaut. Vous devez l'ajouter en tant que champ d'application explicite dans le fichier manifeste pour le demander. Incluez les niveaux d'accès https://www.googleapis.com/auth/userinfo.email
ou https://www.googleapis.com/auth/userinfo.profile
pour renvoyer des informations utilisateur supplémentaires dans le jeton.
Le jeton d'identification renvoyé est un jeton Web JSON (JWT) encodé. Vous devez le décoder pour en extraire des informations. Les exemples suivants montrent comment décoder le jeton et extraire l'ID du profil Google de l'utilisateur effectif.
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}`);
Renvois
String
: jeton d'identité, s'il est disponible. Sinon, null
.
get Installation Source()
Renvoie une valeur d'énumération qui indique comment le script a été installé en tant que module complémentaire pour l'utilisateur actuel (par exemple, si l'utilisateur l'a installé personnellement via le Chrome Web Store ou si un administrateur de domaine l'a installé pour tous les utilisateurs).
Renvois
Installation
: source de l'installation.
get OAuth Token()
Obtient le jeton d'accès OAuth 2.0 pour l'utilisateur effectif. Si les habilitations OAuth du script sont suffisantes pour autoriser une autre API Google qui nécessite normalement son propre flux OAuth (comme Google Picker), les scripts peuvent contourner la deuxième invite d'autorisation en transmettant ce jeton à la place. Le jeton expire au bout d'un certain temps (quelques minutes au minimum). Les scripts doivent gérer les échecs d'autorisation et appeler cette méthode pour obtenir un nouveau jeton si nécessaire.
Le jeton renvoyé par cette méthode n'inclut que les champs d'application dont le script a actuellement besoin. Les autorisations qui ont été accordées précédemment, mais qui ne sont plus utilisées par le script, ne sont pas incluses dans le jeton renvoyé. Si des habilitations OAuth supplémentaires sont nécessaires au-delà de celles requises par le script lui-même, elles peuvent être spécifiées dans le fichier manifeste du script.
Renvois
String
: représentation sous forme de chaîne du jeton OAuth 2.0.
get Project Triggers()
Récupère tous les déclencheurs installables associés au projet et à l'utilisateur actuels.
Logger.log( `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`, );
Renvois
Trigger[]
: tableau des déclencheurs de l'utilisateur actuel associés à ce projet.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.scriptapp
get Script Id()
Récupère l'ID unique du projet de script. Il s'agit de la méthode recommandée pour obtenir l'identifiant unique du projet de script, par opposition à
. Cet ID peut être utilisé partout où la clé de projet était auparavant fournie.get
Renvois
String
: ID du projet de script.
get Service()
Obtient un objet utilisé pour contrôler la publication du script en tant qu'application Web.
// Get the URL of the published web app. const url = ScriptApp.getService().getUrl();
Renvois
Service
: objet utilisé pour observer et contrôler la publication du script en tant qu'application Web.
get User Triggers(document)
Renvoie tous les déclencheurs installables appartenant à cet utilisateur dans le document donné, uniquement pour ce script ou ce module complémentaire. Cette méthode ne peut pas être utilisée pour afficher les déclencheurs associés à d'autres scripts.
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());
Paramètres
Nom | Type | Description |
---|---|---|
document | Document | Fichier Google Docs pouvant contenir des déclencheurs installables. |
Renvois
Trigger[]
: tableau de déclencheurs appartenant à cet utilisateur dans le document donné.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(form)
Renvoie tous les déclencheurs installables appartenant à cet utilisateur dans le formulaire donné, uniquement pour ce script ou ce module complémentaire. Cette méthode ne peut pas être utilisée pour afficher les déclencheurs associés à d'autres scripts.
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());
Paramètres
Nom | Type | Description |
---|---|---|
form | Form | Fichier Google Forms pouvant contenir des déclencheurs installables. |
Renvois
Trigger[]
: tableau des déclencheurs appartenant à cet utilisateur dans le formulaire donné.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(spreadsheet)
Récupère tous les déclencheurs installables appartenant à cet utilisateur dans la feuille de calcul donnée, uniquement pour ce script ou ce module complémentaire. Cette méthode ne peut pas être utilisée pour afficher les déclencheurs associés à d'autres scripts.
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());
Paramètres
Nom | Type | Description |
---|---|---|
spreadsheet | Spreadsheet | Fichier Google Sheets pouvant contenir des déclencheurs installables. |
Renvois
Trigger[]
: tableau des déclencheurs appartenant à cet utilisateur dans la feuille de calcul donnée.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.scriptapp
invalidate Auth()
Invalide l'autorisation dont dispose l'utilisateur effectif pour exécuter le script actuel. Utilisée pour invalider les autorisations du script actuel. Cela est particulièrement utile pour les fonctions taguées comme nécessitant une autorisation unique. Étant donné que les fonctions d'autorisation unique ne peuvent être appelées que lors de la première exécution du script après l'obtention de l'autorisation, si vous souhaitez effectuer une action par la suite, vous devez révoquer toute autorisation dont disposait le script afin que l'utilisateur puisse revoir la boîte de dialogue d'autorisation.
ScriptApp .invalidateAuth();
Génère
Error
: en cas d'échec de l'invalidation
new State Token()
Crée un compilateur pour un jeton d'état pouvant être utilisé dans une API de rappel (comme un flux OAuth).
// 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; }
Dans la plupart des flux OAuth2, le jeton state
est transmis directement au point de terminaison d'autorisation (et non dans l'URL de rappel), puis le point de terminaison d'autorisation le transmet dans l'URL de rappel.
Exemple :
- Le script redirige l'utilisateur vers l'URL d'autorisation OAuth2 :
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
- L'utilisateur clique sur "Autoriser", et la page d'autorisation OAuth2 le redirige vers
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
. - La redirection ci-dessus (vers
http://script.google.com/...
) entraîne la requête du navigateur vers/usercallback
, qui appelle la méthode spécifiée parState
.Token Builder.withMethod(method)
Renvois
State
: objet utilisé pour poursuivre le processus de création du jeton d'état.
new Trigger(functionName)
Démarre le processus de création d'un déclencheur installable qui, lorsqu'il est déclenché, appelle une fonction donnée.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
Avant de créer un déclencheur, vérifiez que la fonction associée dispose de toutes les autorisations OAuth nécessaires.
Paramètres
Nom | Type | Description |
---|---|---|
function | String | Fonction à appeler lorsque le déclencheur est activé. Vous pouvez utiliser des fonctions des bibliothèques incluses, telles que Library.libFunction1 . |
Renvois
Trigger
: objet utilisé pour poursuivre le processus de création du déclencheur.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.scriptapp
require All Scopes(authMode)
Valide si l'utilisateur a donné son consentement pour toutes les habilitations demandées par le script. Utilisez cette méthode si un flux d'exécution repose sur toutes les habilitations demandées par un script. Si des consentements sont manquants, cette méthode met fin à l'exécution en cours et affiche une invite d'autorisation pour demander les consentements manquants.
Cette méthode ne fonctionne que lorsque les utilisateurs exécutent le script à partir d'une surface qui accepte l'autorisation précise, par exemple à partir de l'IDE Apps Script. Lorsque le script est exécuté avec des consentements manquants à partir d'une surface non compatible, telle qu'un module complémentaire Google Workspace, il affiche une invite d'autorisation au début de l'exécution pour demander toutes les autorisations.
ScriptApp .requireAllScopes(ScriptApp.AuthMode.FULL);
Paramètres
Nom | Type | Description |
---|---|---|
auth | Auth | Mode d'autorisation pour lequel les habilitations de script doivent être évaluées. Dans presque tous les cas, la valeur de auth doit être Script , car aucun autre mode d'autorisation n'exige que les utilisateurs accordent une autorisation. |
require Scopes(authMode, oAuthScopes)
Valide si l'utilisateur a donné son consentement pour les niveaux d'accès demandés. Utilisez cette méthode si un flux d'exécution repose sur un ou plusieurs services. Si l'une des autorisations spécifiées est manquante, cette méthode met fin à l'exécution en cours et affiche une invite d'autorisation pour demander les autorisations manquantes. Les champs d'application non valides ou non requis par le script entraînent une erreur.
Cette méthode ne fonctionne que lorsque les utilisateurs exécutent le script à partir d'une surface qui accepte l'autorisation précise, par exemple à partir de l'IDE Apps Script. Lorsque le script est exécuté avec des consentements manquants à partir d'une surface non compatible, telle qu'un module complémentaire Google Workspace, il affiche une invite d'autorisation au début de l'exécution pour demander toutes les autorisations.
ScriptApp .requireScopes(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]);
Paramètres
Nom | Type | Description |
---|---|---|
auth | Auth | Mode d'autorisation pour lequel les niveaux d'accès demandés doivent être évalués. Dans la plupart des cas, la valeur de auth doit être Script , car aucun autre mode d'autorisation n'exige que les utilisateurs accordent l'autorisation. |
oAuthScopes | String[] | Champs d'application OAuth requis pour exécuter le flux donné. |