API Apps Script позволяет создавать и изменять проекты Apps Script из вашего приложения. Примеры на этой странице иллюстрируют, как с помощью API можно выполнять некоторые распространенные операции управления проектами.
Примечание: Перед использованием необходимо включить API Apps Script.
В этих примерах в качестве заполнителя используется scriptId для указания места, где следует указать идентификатор проекта скрипта. Выполните следующие шаги, чтобы найти идентификатор скрипта:
- В проекте Apps Script в левом верхнем углу нажмите проекта» .
- Рядом с полем "Идентификатор скрипта" нажмите " Копировать ".
Создайте новый проект Apps Script.
Следующий запрос projects.create создает новый автономный скрипт .
POST https://scriptmanagement.googleapis.com/v1/projects/
{
"title": "My Script"
}Получение метаданных проекта
Следующий запрос projects.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" }] }