Projektmanagement

Mit der Apps Script API können Sie Apps Script-Projekte erstellen und ändern aus Ihrer App. Die Beispiele auf dieser Seite veranschaulichen, wie einige gängige können mit der API durchgeführt werden.

HINWEIS: Die Apps Script API muss aktiviert sein. vor der Nutzung.

In diesen Beispielen werden die Platzhalter scriptId wird verwendet, um anzugeben, wo Sie die Skript-Projekt-ID angeben würden. Folgen Sie um die Skript-ID zu finden:

  1. Klicken Sie im Apps Script-Projekt links oben auf Projekteinstellungen.
  2. Neben „Skript-ID“ Klicken Sie auf Kopieren.

Neues Apps Script-Projekt erstellen

Die folgende Methode projects.create -Anfrage wird ein neues eigenständiges Skript erstellt.

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

Projektmetadaten abrufen

Die folgende Methode projects.get -Anfrage die Metadaten des Skripts abgerufen.

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

Die Antwort besteht aus einem Objekt: wie diese hier:

{
  "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

Die folgende Methode projects.getContent -Anfrage den Inhalt des Skriptprojekts, einschließlich Code-Quelle und Metadaten für jede Skriptdatei.

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

Die Antwort besteht aus einem Content-Objekt, z. B. 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

Die folgende Methode projects.updateContent -Anfrage aktualisiert den Inhalt des angegebenen Skriptprojekts. Dieser Inhalt wird als HEAD-Version gespeichert und verwendet, wenn das Script als API-ausführbares 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- wie dieses:

{
  "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"
  }]
}