L'API Apps Script (anciennement API Apps Script Execution) vous permet d'exécuter à distance une fonction dans un projet de script auquel vous avez accès. Votre application peut appeler une fonction Apps Script donnée, en lui fournissant des paramètres d'entrée si nécessaire, et recevoir une réponse en retour.
Les exemples de cette page illustrent comment certaines opérations d'exécution courantes peuvent être effectuées avec l'API. Pour en savoir plus, y compris sur les exigences d'autorisation spéciales, consultez le guide Exécuter une fonction.
Dans ces exemples, les espaces réservés scriptId indiquent où vous devez fournir l'ID du projet de script. Pour trouver l'ID du script, procédez comme suit:
- Dans le projet Apps Script, en haut à gauche, cliquez sur Paramètres du projet .
- À côté de "ID du script", cliquez sur Copier.
Exécuter une fonction
La requête scripts.run suivante appelle une fonction Apps Scripts nommée listFolderContent
, en lui transmettant folderId Drive et un entier MAX_SIZE
en tant qu'arguments. La fonction est exécutée en mode développement, ce qui signifie que la version la plus récente de la fonction est exécutée, quelle que soit la version déployée en tant qu'exécutable.
Le protocole de requête est présenté ci-dessous. Le guide Exécuter des fonctions explique comment implémenter une requête d'exécution dans différents langages à l'aide des bibliothèques clientes de l'API Google.
POST https://script.googleapis.com/v1/scripts/scriptId:run
{ "function": "listFolderContent", "parameters": [ folderId, MAX_SIZE ], "devMode": true }
La réponse à cette requête, une fois la fonction Apps Script appelée terminée, contient les résultats de l'exécution ou une réponse d'erreur. Dans cet exemple, la fonction renvoie un tableau de noms de fichiers:
{ "response": { "result": [ "fileTitle1", "fileTitle2", "fileTitle3" ] }, }
Si la fonction a rencontré une erreur lors de l'exécution d'Apps Script, la réponse peut se présenter comme suit:
{ "response": { "error": { "code": 3, "message": "ScriptError", "details": [{ "@type": "type.googleapis.com/google.apps.script.v1.ExecutionError", "errorMessage": "The script enountered an exeception it could not resolve.", "errorType": "ScriptError", "scriptStackTraceElements": [{ "function": "listFolderContent", "lineNumber": 14 }] }] } } }