Interfejs Apps Script API umożliwia tworzenie i modyfikowanie projektów Apps Script w aplikacji. Przykłady na tej stronie pokazują, jak za pomocą interfejsu API można wykonywać typowe operacje związane z zarządzaniem projektami.
UWAGA: interfejs Apps Script API musisz włączyć przed użyciem.
W tych przykładach do wskazywania miejsca podania identyfikatora projektu skryptu służą obiekty zastępcze scriptId. Aby znaleźć identyfikator skryptu:
- W lewym górnym rogu projektu Apps Script kliknij Project Settings (Ustawienia projektu) .
- Obok „Identyfikator skryptu” kliknij Kopiuj.
Tworzenie nowego projektu Apps Script
Poniższe żądanie projects.create tworzy nowy samodzielny skrypt.
POST https://scriptmanagement.googleapis.com/v1/projects/
{ "title": "My Script" }
Pobieranie metadanych projektu
Podane niżej żądanie projects.get pobiera metadane projektu skryptu.
GET https://scriptmanagement.googleapis.com/v1/projects/scriptId
Odpowiedź składa się z obiektu, takiego jak:
{ "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" }, }
Pobierz pliki projektu
Podane niżej żądanie projects.getContent pobiera zawartość projektu skryptu, w tym źródło kodu i metadane każdego pliku skryptu.
GET https://scriptmanagement.googleapis.com/v1/projects/scriptId/content
Odpowiedź składa się z obiektu Content, np. z tego:
{ "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" }] }
Zaktualizuj pliki projektu
Następujące żądanie projects.updateContent aktualizuje zawartość określonego projektu skryptu. Ta treść jest przechowywana jako wersja HEAD i jest używana podczas wykonywania skryptu jako projektu wykonywalnego przez interfejs 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" }] }
Odpowiedź składa się z obiektu Content, np. z tego:
{ "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" }] }