Mit der Apps Script API können Sie Apps Script-Projekte aus Ihrer Anwendung heraus erstellen und ändern. Die Beispiele auf dieser Seite veranschaulichen, wie einige gängige Projektmanagementvorgänge mit der API ausgeführt werden können.
HINWEIS: Die Apps Script API muss vor der Verwendung aktiviert werden.
In diesen Beispielen wird durch die Platzhalter scriptId angegeben, wo Sie die Skriptprojekt-ID angeben. So finden Sie die Skript-ID:
- Klicken Sie im Apps Script-Projekt links oben auf Project Settings (Projekteinstellungen) .
- Klicken Sie neben „Skript-ID“ auf Kopieren.
Neues Apps Script-Projekt erstellen
Mit der folgenden projects.create-Anfrage wird ein neues eigenständiges Skript erstellt.
POST https://scriptmanagement.googleapis.com/v1/projects/
{ "title": "My Script" }
Projektmetadaten abrufen
Mit der folgenden projects.get-Anfrage werden die Metadaten des Projekts abgerufen.
GET https://scriptmanagement.googleapis.com/v1/projects/scriptId
Die Antwort besteht aus einem Objekt wie diesem:
{ "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" }, }
Projektdateien abrufen
Mit der folgenden projects.getContent-Anfrage wird der Inhalt des Skriptprojekts abgerufen, einschließlich der Codequelle und der Metadaten jeder Skriptdatei.
GET https://scriptmanagement.googleapis.com/v1/projects/scriptId/content
Die Antwort besteht aus einem Content-Objekt wie diesem:
{ "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" }] }
Projektdateien aktualisieren
Mit der folgenden projects.updateContent-Anfrage wird der Inhalt des angegebenen Skriptprojekts aktualisiert. Dieser Inhalt wird als HEAD-Version gespeichert und verwendet, wenn das Skript als ausführbares API-Projekt ausgeführt wird.
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" }] }
Die Antwort besteht aus einem Content-Objekt wie diesem:
{ "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" }] }