L'API Apps Script vous permet de créer et de modifier des projets Apps Script depuis votre application. Les exemples de cette page illustrent comment certaines opérations courantes de gestion de projets peuvent être réalisées avec l'API.
REMARQUE : L'API Apps Script doit être activée avant d'être utilisée.
Dans ces exemples, l'espace réservé scriptId est utilisé pour indiquer 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.
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 de script.
GET https://scriptmanagement.googleapis.com/v1/projects/scriptId
La réponse se compose d'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 le code source et les métadonnées de chaque fichier de script.
GET https://scriptmanagement.googleapis.com/v1/projects/scriptId/content
La réponse se compose d'un objet Content tel que 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 se compose d'un objet Content tel que 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" }] }