Uruchamia funkcję w projekcie Apps Script. Projekt skryptu musi być wdrożony do użytku z interfejsem Apps Script API, a aplikacja wywołująca musi korzystać z tego samego projektu Cloud Platform.
Ta metoda wymaga autoryzacji za pomocą tokena OAuth 2.0, który zawiera co najmniej jeden z zakresów wymienionych w sekcji Autoryzacja. Nie można wykonywać za pomocą tego interfejsu API projektów skryptów, które nie wymagają autoryzacji. Aby znaleźć prawidłowe zakresy do uwzględnienia w tokenie uwierzytelniania, otwórz stronę Przegląd projektu skryptu i przewiń w dół do sekcji „Zakresy OAuth projektu”.
Błąd 403, PERMISSION_DENIED: The caller does not have permission oznacza, że projekt Cloud Platform użyty do autoryzacji żądania nie jest taki sam jak projekt używany przez skrypt.
Żądanie HTTP
POST https://script.googleapis.com/v1/scripts/{deploymentId}:run
Adres URL używa składni transkodowania gRPC.
Parametry ścieżki
| Parametry | |
|---|---|
deploymentId | 
                
                   
 Identyfikator wdrożenia pliku wykonywalnego interfejsu API. Znajdź identyfikator wdrożenia w edytorze skryptów w sekcji Wdróż > Zarządzaj wdrożeniami.  | 
              
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 do wykonania w danym skrypcie. Nazwa nie zawiera nawiasów ani parametrów. Może odwoływać się do funkcji z dołączonej biblioteki, 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 specyficznymi dla Apps Script (np.   | 
                
sessionState | 
                  
                     
 Wycofano. Do użytku tylko z dodatkami do Androida. Identyfikator reprezentujący bieżącą sesję użytkownika w aplikacji na Androida Dokumenty lub Arkusze Google, dołączony jako dodatkowe dane w intencji, która uruchamia dodatek. Gdy dodatek do Androida jest uruchamiany ze stanem sesji, uzyskuje uprawnienia powiązanego skryptu, czyli może uzyskiwać 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   | 
                
Treść odpowiedzi
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
Reprezentacja wykonania funkcji Apps Script rozpoczętego za pomocą run. Odpowiedź na wykonanie nie dotrze, dopóki funkcja nie zakończy wykonywania. Maksymalny czas wykonania jest podany w przewodniku po limitach Apps Script. 
Po rozpoczęciu wykonania może ono mieć jeden z 4 wyników:
-  Jeśli funkcja skryptu zwróci wartość, pole 
responsezawiera obiektExecutionResponsez wartością zwracaną przez funkcję w poluresultobiektu. -  Jeśli funkcja skryptu (lub sam Apps Script) zgłosi wyjątek, pole 
errorbędzie zawierać obiektStatus. PoledetailsobiektuStatuszawiera tablicę z jednym obiektemExecutionError, który zawiera informacje o charakterze błędu. -  Jeśli wykonanie jeszcze się nie zakończyło, pole 
donema wartośćfalse, a polaresponseierrornie są obecne. -  Jeśli samo wywołanie 
runsię nie powiedzie (np. z powodu nieprawidłowo sformatowanego żądania lub błędu autoryzacji), metoda zwraca kod odpowiedzi HTTP z zakresu 4XX z innym formatem treści odpowiedzi. Biblioteki klienta automatycznie przekształcają odpowiedź 4XX w klasę wyjątku. 
| Zapis JSON | 
|---|
{ "done": boolean, // Union field  | 
                  
| Pola | |
|---|---|
done | 
                    
                       
 To pole wskazuje, czy wykonanie skryptu zostało zakończone. Ukończone wykonanie ma wypełnione pole   | 
                  
Pole zbiorcze result. Wynik operacji, który może być wartością error lub prawidłową wartością response. Jeśli done == false, nie ustawiono ani error, ani response. Jeśli done == true, można ustawić tylko jedną z wartości error lub response. Niektóre usługi mogą nie zwracać wyniku. result może mieć tylko jedną z tych wartości: | 
                  |
error | 
                    
                       
 Jeśli wywołanie   | 
                  
response | 
                    
                       
 Jeśli funkcja skryptu zwróci wartość, to pole zawiera obiekt  Obiekt zawierający pola dowolnego typu. Dodatkowe pole   | 
                  
Zakresy autoryzacji
Wymaga jednego z tych zakresów OAuth:
https://apps-apis.google.com/a/feedshttps://apps-apis.google.com/a/feeds/alias/https://apps-apis.google.com/a/feeds/groups/https://mail.google.com/https://sites.google.com/feedshttps://www.google.com/calendar/feedshttps://www.google.com/m8/feedshttps://www.googleapis.com/auth/admin.directory.grouphttps://www.googleapis.com/auth/admin.directory.userhttps://www.googleapis.com/auth/documentshttps://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/dynamiccreativeshttps://www.googleapis.com/auth/formshttps://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/groupshttps://www.googleapis.com/auth/script.cpanelhttps://www.googleapis.com/auth/script.external_requesthttps://www.googleapis.com/auth/script.scriptapphttps://www.googleapis.com/auth/script.send_mailhttps://www.googleapis.com/auth/script.storagehttps://www.googleapis.com/auth/script.webapp.deployhttps://www.googleapis.com/auth/spreadsheetshttps://www.googleapis.com/auth/spreadsheets.currentonlyhttps://www.googleapis.com/auth/sqlservicehttps://www.googleapis.com/auth/userinfo.email
Więcej informacji znajdziesz w omówieniu OAuth 2.0.
Stan
Jeśli wywołanie run się powiedzie, ale funkcja skryptu (lub sam 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 programisty, który jest w języku angielskim. Wszelkie komunikaty o błędach dla użytkowników są zlokalizowane i wysyłane w polu   | 
              
details[] | 
                
                   
 Tablica zawierająca pojedynczy obiekt  Obiekt zawierający pola dowolnego typu. Dodatkowe pole   |