Uruchamia funkcję w projekcie Apps Script. Aby można było używać interfejsu Apps Script API, projekt skryptu musi być wdrożony, a aplikacja wywołująca musi współdzielić ten sam projekt Cloud Platform.
Ta metoda wymaga autoryzacji przy użyciu tokena OAuth 2.0 zawierającego co najmniej jeden z zakresów wymienionych w sekcji Autoryzacja. projektów skryptów, które nie wymagają autoryzacji, nie można uruchamiać za pomocą tego interfejsu API. Aby znaleźć odpowiednie zakresy do uwzględnienia w tokenie uwierzytelniania, otwórz stronę Przegląd projektu skryptu i przewiń w dół do sekcji „Zakresy protokołu OAuth projektu”.
Błąd 403, PERMISSION_DENIED: The caller does not have permission oznacza, że projekt Cloud Platform użyty do autoryzacji żądania różni się od projektu używanego przez skrypt.
Żądanie HTTP
POST https://script.googleapis.com/v1/scripts/{scriptId}:run
Adres URL używa składni transkodowania gRPC.
Parametry ścieżki
| Parametry | |
|---|---|
| scriptId | 
 Identyfikator skryptu, który ma zostać wykonany. Identyfikator skryptu znajdziesz na stronie Ustawienia projektu w sekcji „Identyfikatory”. | 
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
| Zapis JSON | 
|---|
| { "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } | 
| Pola | |
|---|---|
| function | 
 Nazwa funkcji, która ma zostać wykonana w danym skrypcie. Nazwa nie zawiera nawiasów ani parametrów. Może odwoływać się do funkcji w uwzględnionej bibliotece, np.  | 
| parameters[] | 
 Parametry, które mają zostać przekazane do wykonywanej funkcji. Typ obiektu każdego parametru powinien być zgodny z oczekiwanym typem w Apps Script. Parametry nie mogą być typami obiektów typowych dla Apps Script (takich jak  | 
| sessionState | 
 Wycofano. Do użytku tylko z dodatkami na Androida. Identyfikator reprezentujący bieżącą sesję użytkownika Dokumentów lub Arkuszy Google w aplikacji na Androida, który jest uwzględniony jako dodatkowe dane w intencji uruchamiającej dodatek. Gdy dodatek na Androida jest uruchamiany w stanie sesji, uzyskuje uprawnienia do skryptu powiązanego – to znaczy, że może uzyskać dostęp do informacji takich jak bieżąca pozycja kursora użytkownika (w Dokumentach) lub wybrana komórka (w Arkuszach). Aby pobrać stan, wywołaj  | 
| devMode | 
 Jeśli właścicielem skryptu jest  | 
Treść odpowiedzi
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
Prezentacja wykonania funkcji Apps Script rozpoczętej przez run. Odpowiedź wykonania nie przychodzi, dopóki funkcja nie zakończy wykonywania. Maksymalne środowisko wykonawcze znajdziesz w przewodniku po limitach Apps Script. 
Po rozpoczęciu może to przynieść jeden z 4 wyników:
-  Jeśli funkcja skryptu zwraca się prawidłowo, pole responsezawiera obiektExecutionResponsez wartością zwrotną funkcji w poluresultobiektu.
-  Jeśli funkcja skryptu (lub sama Apps Script) zgłosi wyjątek, pole errorzawiera obiektStatus. PoledetailsobiektuStatuszawiera tablicę z pojedynczym obiektemExecutionError, który dostarcza informacji o charakterze błędu.
-  Jeśli wykonanie nie zostało jeszcze ukończone, pole donezawiera wartośćfalse, a polaresponseierrornie są obecne.
-  Jeśli samo wywołanie runzakończy się niepowodzeniem (na przykład z powodu nieprawidłowego formatu żądania lub błędu autoryzacji), metoda zwróci kod odpowiedzi HTTP z zakresu 4XX z innym formatem treści odpowiedzi. Biblioteki klienta automatycznie konwertują odpowiedź 4XX na klasę wyjątku.
| Zapis JSON | 
|---|
| { "done": boolean, // Union field | 
| Pola | |
|---|---|
| done | 
 To pole informuje, czy wykonywanie skryptu zostało zakończone. Ukończone wykonanie ma wypełnione pole  | 
| Pole sumy result. Wynik operacji, którym może byćerrorlub prawidłowyresponse. Jeślidone==false, nie ustawionoerroraniresponse. Jeślidone==true, może być ustawione dokładnie jedna z tych wartości:errorlubresponse. Niektóre usługi mogą nie dawać oczekiwanych rezultatów.resultmoże mieć tylko jedną z tych wartości: | |
| error | 
 Jeśli wywołanie  | 
| response | 
 Jeśli funkcja skryptu zostanie zwrócona, to pole będzie zawierać obiekt  Obiekt zawierający pola dowolnego typu. Dodatkowe pole  | 
Zakresy autoryzacji
Wymaga jednego z tych zakresów protokołu OAuth:
- https://apps-apis.google.com/a/feeds
- https://apps-apis.google.com/a/feeds/alias/
- https://apps-apis.google.com/a/feeds/groups/
- https://mail.google.com/
- https://sites.google.com/feeds
- https://www.google.com/calendar/feeds
- https://www.google.com/m8/feeds
- https://www.googleapis.com/auth/admin.directory.group
- https://www.googleapis.com/auth/admin.directory.user
- https://www.googleapis.com/auth/documents
- https://www.googleapis.com/auth/documents.currentonly
- https://www.googleapis.com/auth/drive
- https://www.googleapis.com/auth/dynamiccreatives
- https://www.googleapis.com/auth/forms
- https://www.googleapis.com/auth/forms.currentonly
- https://www.googleapis.com/auth/groups
- https://www.googleapis.com/auth/script.cpanel
- https://www.googleapis.com/auth/script.external_request
- https://www.googleapis.com/auth/script.scriptapp
- https://www.googleapis.com/auth/script.send_mail
- https://www.googleapis.com/auth/script.storage
- https://www.googleapis.com/auth/script.webapp.deploy
- https://www.googleapis.com/auth/spreadsheets
- https://www.googleapis.com/auth/spreadsheets.currentonly
- https://www.googleapis.com/auth/sqlservice
- https://www.googleapis.com/auth/userinfo.email
Więcej informacji znajdziesz w artykule Omówienie protokołu OAuth 2.0.
Stan
Jeśli wywołanie run zakończy się powodzeniem, ale funkcja skryptu (lub sama aplikacja Apps Script) zgłosi wyjątek, pole error w treści odpowiedzi będzie zawierać ten obiekt Status.
| Zapis JSON | 
|---|
| { "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } | 
| Pola | |
|---|---|
| code | 
 Kod stanu. W przypadku tego interfejsu API ta wartość: 
 | 
| message | 
 komunikat o błędzie widoczny dla dewelopera (w języku angielskim). Każdy komunikat o błędzie widoczny dla użytkowników jest lokalizowany i wysyłany w polu  | 
| details[] | 
 Tablica z pojedynczym obiektem  Obiekt zawierający pola dowolnego typu. Dodatkowe pole  |