Gestion de projets

L'API Apps Script vous permet de créer et de modifier des projets Apps Script à partir de votre application. Les exemples de cette page montrent comment l'API permet d'effectuer certaines opérations de gestion de projets courantes.

REMARQUE: L'API Apps Script doit être activée avant utilisation.

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.

Créer un projet Apps Script

La requête projects.create suivante crée un script autonome.

POST https://scriptmanagement.googleapis.com/v1/projects/
{
  "title": "My Script"
}

Récupérer les métadonnées d'un projet

La requête projects.get suivante permet d'obtenir les métadonnées du projet du script.

GET https://scriptmanagement.googleapis.com/v1/projects/scriptId

La réponse consiste en un objet tel que celui-ci:

{
  "scriptId": "scriptId",
  "title": "My Title",
  "parentId": "parentId",
  "createTime": "2017-10-02T15:01:23.045123456Z",
  "updateTime": "2017-10-02T15:01:23.045123456Z",
  "creator": { "name": "Grant" },
  "lastModifyUser": { "name": "Grant" },
}

Récupérer les fichiers du projet

La requête projects.getContent suivante obtient le contenu du projet de script, y compris la source du code et les métadonnées de chaque fichier de script.

GET https://scriptmanagement.googleapis.com/v1/projects/scriptId/content

La réponse consiste en un objet Content comme celui-ci:

{
  "scriptId": "scriptId",
  "files": [{
    "name": "My Script",
    "type": "SERVER_JS",
    "source": "function hello(){\nconsole.log('Hello world');}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z",
    "functionSet": {
      "values": [
        "name": "helloWorld"
      ]
    }
  }, {
    "name": "appsscript",
    "type": "JSON",
    "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }]
}

Mettre à jour les fichiers du projet

La requête projects.updateContent suivante met à jour le contenu du projet de script spécifié. Ce contenu est stocké en tant que version HEAD et est utilisé lorsque le script est exécuté en tant que projet exécutable d'API.

PUT https://scriptmanagement.googleapis.com/v1/projects/scriptID/content
{
  "files": [{
    "name": "index",
    "type": "HTML",
    "source": "<html> <header><title>HTML Page</title></header> <body> My HTML </body> </html>"
  }, {
    "name": "My Script",
    "type": "SERVER_JS",
    "source": "function hello(){\nconsole.log('Hello world');}",
  }, {
    "name": "appsscript",
    "type": "JSON",
    "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }]
}

La réponse consiste en un objet Content comme celui-ci:

{
  "scriptId": "scriptId",
  "files": [{
    "name": "index",
    "type": "HTML",
    "source": "<html> <header><title>HTML Page</title></header> <body> My HTML </body> </html>",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }, {
    "name": "My Script",
    "type": "SERVER_JS",
    "source": "function hello(){\nconsole.log('Hello world');}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z",
    "functionSet": {
      "values": [
        "name": "helloWorld"
      ]
    }
  }, {
    "name": "appsscript",
    "type": "JSON",
    "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }]
}