Interfejs Apps Script API (wcześniej interfejs Apps Script Execution API) umożliwia zdalne wykonywanie funkcji w projekcie skryptu, do którego masz dostęp. Aplikacja może wywołać daną funkcję Apps Script, podając w razie potrzeby parametry wejściowe, i otrzymać zwróconą odpowiedź.
Przykłady na tej stronie pokazują, jak można wykonywać niektóre typowe operacje za pomocą interfejsu API. Więcej informacji w tym o szczególnych wymaganiach autoryzacyjnych znajdziesz w poradnikach dotyczących wykonywania funkcji.
W tych przykładach obiekt zastępczy scriptId wskazuje, gdzie należy podać identyfikator projektu skryptu. Aby znaleźć identyfikator skryptu, wykonaj te czynności:
- W lewym górnym rogu projektu Apps Script kliknij Ustawienia projektu .
- Obok opcji „Identyfikator skryptu” kliknij Kopiuj.
Wykonaj funkcję
Poniższe żądanie scripts.run wywołuje funkcję Apps Script o nazwie listFolderContent
, przekazując jako argumenty plik folderId z Dysku i liczbę całkowitą MAX_SIZE
. Funkcja jest wykonywana w trybie programistycznym, co oznacza, że jest wykonywana najnowsza zapisana wersja funkcji, niezależnie od tego, która wersja została wdrożona jako plik wykonywalny.
Protokół żądania przedstawiono poniżej. W przewodniku Wykonywanie funkcji znajdziesz informacje o tym, jak implementować żądanie wykonania w różnych językach za pomocą bibliotek klienta Google API.
POST https://script.googleapis.com/v1/scripts/scriptId :run
{ "function": "listFolderContent", "parameters": [folderId , MAX_SIZE ], "devMode": true }
Odpowiedź na to żądanie, po zakończeniu wywołanej funkcji Apps Script, zawiera wyniki wykonania lub odpowiedź o błędzie. W tym przykładzie funkcja zwraca tablicę nazw plików:
{ "response": { "result": [ "fileTitle1", "fileTitle2", "fileTitle3" ] }, }
Jeśli podczas wykonywania skryptu Apps Script wystąpił błąd, odpowiedź może wyglądać tak:
{ "response": { "error": { "code": 3, "message": "ScriptError", "details": [{ "@type": "type.googleapis.com/google.apps.script.v1.ExecutionError", "errorMessage": "The script enountered an exeception it could not resolve.", "errorType": "ScriptError", "scriptStackTraceElements": [{ "function": "listFolderContent", "lineNumber": 14 }] }] } } }