Interfejs Apps Script API (wcześniej 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 otrzymując zwróconą odpowiedź.
Przykłady na tej stronie pokazują, jak za pomocą interfejsu API można wykonać niektóre typowe operacje. Więcej informacji, w tym wymagania dotyczące specjalnegoupoważnienia, znajdziesz w przewodniku Wykonywanie funkcji.
W tych przykładach symbol zastępczy scriptId wskazuje miejsce, w którym należy podać identyfikator projektu skryptu. Aby znaleźć identyfikator skryptu, wykonaj te czynności:
- W projekcie Apps Script w lewym górnym rogu 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 jej jako argumenty folderId z Dysku i liczbę całkowitą MAX_SIZE
. Funkcja jest wykonywana w trybie programowania, co oznacza, że uruchamiana jest jej ostatnio zapisana wersja, niezależnie od tego, która wersja jest wdrożona jako plik wykonywalny.
Protokół żądania jest widoczny poniżej. W przewodniku Wykonywanie funkcji znajdziesz informacje o tym, jak wdrożyć żądanie uruchomienia w różnych językach za pomocą bibliotek klienta interfejsu 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 }] }] } } }