Class ScriptApp

ScriptApp

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éTypeDescription
AuthModeAuthModeÉnumération identifiant les catégories de services autorisés qu'Apps Script peut exécuter via une fonction déclenchée.
AuthorizationStatusAuthorizationStatusÉnumération indiquant l'état d'autorisation d'un script.
EventTypeEventTypeÉnumération indiquant le type d'événement déclenché.
InstallationSourceInstallationSourceÉnumération indiquant la manière dont le script a été installé auprès de l'utilisateur en tant que module complémentaire.
TriggerSourceTriggerSourceÉnumération indiquant la source de l'événement qui déclenche l'activation du déclencheur.
WeekDayWeekdayÉnumération représentant les jours de la semaine.

Méthodes

MéthodeType renvoyéBrève description
deleteTrigger(trigger)voidSupprime le déclencheur donné afin qu'il ne s'exécute plus.
getAuthorizationInfo(authMode)AuthorizationInfoRécupère un objet permettant de déterminer si l'utilisateur doit autoriser ce script à utiliser un ou plusieurs services, et pour fournir l'URL d'une boîte de dialogue d'autorisation.
getIdentityToken()StringRécupère un jeton d'identité OpenID Connect pour l'utilisateur effectif, si le champ d'application openid a été accordé.
getInstallationSource()InstallationSourceRenvoie une valeur d'énumération qui indique la manière dont 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).
getOAuthToken()StringRécupère le jeton d'accès OAuth 2.0 de l'utilisateur effectif.
getProjectTriggers()Trigger[]Récupère tous les déclencheurs installables associés au projet et à l'utilisateur actuels.
getScriptId()StringRécupère l'identifiant unique du projet de script.
getService()ServiceRécupère un objet utilisé pour contrôler la publication du script en tant qu'application Web.
getUserTriggers(document)Trigger[]Récupère tous les déclencheurs installables appartenant à cet utilisateur dans le document donné, pour ce script ou ce module complémentaire uniquement.
getUserTriggers(form)Trigger[]Récupère tous les déclencheurs installables appartenant à cet utilisateur, sous la forme donnée, pour ce script ou ce module complémentaire uniquement.
getUserTriggers(spreadsheet)Trigger[]Récupère tous les déclencheurs installables appartenant à cet utilisateur dans la feuille de calcul donnée, pour ce script ou ce module complémentaire uniquement.
invalidateAuth()voidInvalide l'autorisation dont dispose l'utilisateur effectif pour exécuter le script actuel.
newStateToken()StateTokenBuilderCrée un compilateur pour un jeton d'état qui peut être utilisé dans une API de rappel (comme un flux OAuth).
newTrigger(functionName)TriggerBuilderDémarre le processus de création d'un déclencheur installable qui, lorsqu'il est exécuté, appelle une fonction donnée.

Documentation détaillée

deleteTrigger(trigger)

Supprime le déclencheur donné afin qu'il ne s'exécute plus.

// Deletes all triggers in the current project.
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
  ScriptApp.deleteTrigger(triggers[i]);
}

Paramètres

NomTypeDescription
triggerTriggerDéclencheur à supprimer.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/script.scriptapp

getAuthorizationInfo(authMode)

Récupère un objet permettant de déterminer si l'utilisateur doit autoriser ce script à utiliser un ou plusieurs services, et pour fournir l'URL d'une boîte de dialogue d'autorisation. Si le script est publié en tant que module complémentaire utilisant des déclencheurs installables, ces informations peuvent servir à contrôler l'accès aux sections de code pour lesquelles l'utilisateur ne dispose pas des autorisations nécessaires. Le module complémentaire peut également demander à l'utilisateur d'ouvrir l'URL de la boîte de dialogue d'autorisation pour résoudre le problème.

var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL);
status = authInfo.getAuthorizationStatus();
url = authInfo.getAuthorizationUrl();

Paramètres

NomTypeDescription
authModeAuthModeMode d'autorisation pour lequel des informations d'autorisation sont demandées. Dans presque tous les cas, la valeur de authMode doit être ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL), car aucun autre mode d'autorisation n'exige que les utilisateurs accordent une autorisation.

Renvois

AuthorizationInfo : objet qui peut fournir des informations sur l'état d'autorisation de l'utilisateur.


getIdentityToken()

Récupère un jeton d'identité OpenID Connect pour l'utilisateur effectif, si le champ d'application openid 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'ID renvoyé est un jeton Web JSON (JWT) encodé et doit être décodé pour en extraire les informations. Les exemples suivants montrent comment décoder le jeton et extraire l'ID du profil Google de l'utilisateur effectif.

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);
Consultez la documentation d'OpenID Connect pour obtenir la liste complète des champs (revendications) renvoyés.

Renvois

String : jeton d'identité, s'il est disponible, ou null dans le cas contraire.


getInstallationSource()

Renvoie une valeur d'énumération qui indique la manière dont 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

InstallationSource : source de l'installation.


getOAuthToken()

Récupère le jeton d'accès OAuth 2.0 de l'utilisateur effectif. Si les champs d'application OAuth du script suffisent à 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. Le jeton expire après un certain délai (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 champs d'application précédemment autorisés, mais qui ne sont plus utilisés par le script, ne sont pas inclus dans le jeton renvoyé. Si des champs d'application OAuth supplémentaires sont nécessaires au-delà des exigences du script lui-même, ils peuvent être spécifiés dans le fichier manifeste du script.

Renvois

String : représentation du jeton OAuth 2.0 sous forme de chaîne.


getProjectTriggers()

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 associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/script.scriptapp

getScriptId()

Récupère l'identifiant unique du projet de script. Il s'agit de la méthode privilégiée par rapport à getProjectKey() pour obtenir l'identifiant unique du projet de script. Cet ID peut être utilisé partout où la clé de projet a déjà été fournie.

Renvois

String : ID du projet de script.


getService()

Récupère un objet utilisé pour contrôler la publication du script en tant qu'application Web.

// Get the URL of the published web app.
var url = ScriptApp.getService().getUrl();

Renvois

Service : objet utilisé pour observer et contrôler la publication du script en tant qu'application Web.


getUserTriggers(document)

Récupère tous les déclencheurs installables appartenant à cet utilisateur dans le document donné, pour ce script ou ce module complémentaire uniquement. Cette méthode ne permet pas d'afficher les déclencheurs associés à d'autres scripts.

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

Paramètres

NomTypeDescription
documentDocumentFichier 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 associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/script.scriptapp

getUserTriggers(form)

Récupère tous les déclencheurs installables appartenant à cet utilisateur, sous la forme donnée, pour ce script ou ce module complémentaire uniquement. Cette méthode ne permet pas d'afficher les déclencheurs associés à d'autres scripts.

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

Paramètres

NomTypeDescription
formFormUn fichier Google Forms pouvant contenir des déclencheurs installables.

Renvois

Trigger[] : tableau de déclencheurs appartenant à cet utilisateur sous la forme donnée.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/script.scriptapp

getUserTriggers(spreadsheet)

Récupère tous les déclencheurs installables appartenant à cet utilisateur dans la feuille de calcul donnée, pour ce script ou ce module complémentaire uniquement. Cette méthode ne permet pas d'afficher les déclencheurs associés à d'autres scripts.

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

Paramètres

NomTypeDescription
spreadsheetSpreadsheetFichier 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 associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/script.scriptapp

invalidateAuth()

Invalide l'autorisation dont dispose l'utilisateur effectif pour exécuter le script actuel. Permet d'invalider des autorisations pour le script actuel. Cela est particulièrement utile pour les fonctions marquées en tant qu'autorisation ponctuelle. Étant donné que les fonctions d'autorisation ponctuelle ne peuvent être appelées que lors de la première exécution après que le script a obtenu l'autorisation, si vous souhaitez effectuer une action par la suite, vous devez révoquer toute autorisation du script afin que l'utilisateur puisse à nouveau voir la boîte de dialogue d'autorisation.

ScriptApp.invalidateAuth();

Génère

Error : lorsque l'invalidation échoue


newStateToken()

Crée un compilateur pour un jeton d'état qui peut ê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.
  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;
}

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 (dans http://script.google.com/...) a pour effet d'envoyer la requête du navigateur à /usercallback, qui appelle la méthode spécifiée par StateTokenBuilder.withMethod(method).

Renvois

StateTokenBuilder : objet utilisé pour poursuivre le processus de création de jetons d'état.


newTrigger(functionName)

Démarre le processus de création d'un déclencheur installable qui, lorsqu'il est exécuté, appelle une fonction donnée.

// Creates an edit trigger for a spreadsheet identified by ID.
ScriptApp.newTrigger('myFunction')
    .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3')
    .onEdit()
    .create();

Paramètres

NomTypeDescription
functionNameStringFonction à appeler lorsque le déclencheur s'exécute. Vous pouvez utiliser des fonctions des bibliothèques incluses, telles que Library.libFunction1.

Renvois

TriggerBuilder : objet utilisé pour poursuivre le processus de création du déclencheur.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/script.scriptapp

Méthodes obsolètes