Exécuter des fonctions Apps Script

L'API Apps Script (et anciennement l'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 renvoyée.

Les exemples de cette page illustrent comment certaines opérations d'exécution courantes peuvent être réalisées avec l'API. Pour en savoir plus, y compris sur les exigences spéciales en matière d'autorisation, consultez le guide Exécuter une fonction.

Dans ces exemples, les espaces réservés scriptId permettent d'indiquer où vous devez fournir l'ID de projet du script. Suivez les étapes ci-dessous pour trouver l'ID de script:

  1. Dans le projet Apps Script, en haut à gauche, cliquez sur Paramètres du projet .
  2. À côté de "ID de script", cliquez sur Copier.

Exécuter une fonction

La requête scripts.run suivante appelle une fonction Apps Script nommée listFolderContent, en lui transmettant le 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 dernière version enregistrée 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 montre 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 du script 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
        }]
      }]
    }
  }
}