Управление проектом

API Apps Script позволяет создавать и изменять проекты Apps Script из вашего приложения. Примеры на этой странице иллюстрируют, как с помощью API можно выполнить некоторые распространенные операции управления проектами.

ПРИМЕЧАНИЕ. Перед использованием необходимо включить Apps Script API.

В этих примерах заполнители scriptId используются для указания места, где вы должны указать идентификатор проекта сценария. Выполните следующие действия, чтобы найти идентификатор сценария:

  1. В проекте Apps Script в левом верхнем углу нажмите проекта» .
  2. Рядом с надписью «Идентификатор сценария» нажмите «Копировать » .

Создайте новый проект Apps Script.

Следующий запрос project.create создает новый автономный скрипт .

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

Получить метаданные проекта

Следующий запрос project.get получает метаданные проекта скрипта.

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

Ответ состоит из такого объекта :

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

Получить файлы проекта

Следующий запрос projects.getContent получает содержимое проекта скрипта, включая источник кода и метаданные для каждого файла скрипта.

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

Ответ состоит из объекта Content , такого как этот:

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

Обновить файлы проекта

Следующий запрос projects.updateContent обновляет содержимое указанного проекта скрипта. Это содержимое сохраняется как версия HEAD и используется, когда сценарий выполняется как исполняемый проект 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"
  }]
}

Ответ состоит из объекта Content , такого как этот:

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