- Richiesta HTTP
- Parametri percorso
- Corpo della richiesta
- Corpo della risposta
- Ambiti di autorizzazione
- Stato
Esegue una funzione in un progetto Apps Script. È necessario eseguire il deployment del progetto di script affinché possa essere utilizzato con l'API Apps Script e l'applicazione chiamante deve condividere lo stesso progetto della piattaforma Cloud.
Questo metodo richiede l'autorizzazione con un token OAuth 2.0 che includa almeno uno degli ambiti elencati nella sezione Autorizzazione. Questa API non consente di eseguire progetti di script che non richiedono l'autorizzazione. Per trovare gli ambiti corretti da includere nel token di autenticazione, apri la pagina Panoramica del progetto di script e scorri verso il basso fino ad "Ambiti OAuth del progetto".
L'errore 403, PERMISSION_DENIED: The caller does not have permission indica che il progetto Cloud Platform utilizzato per autorizzare la richiesta non è uguale a quello utilizzato dallo script.
Richiesta HTTP
POST https://script.googleapis.com/v1/scripts/{scriptId}:run
L'URL utilizza la sintassi di transcodifica gRPC.
Parametri del percorso
| Parametri | |
|---|---|
scriptId |
L'ID dello script da eseguire. Trova l'ID script nella pagina Impostazioni progetto, nella sezione "ID". |
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
| Rappresentazione JSON |
|---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } |
| Campi | |
|---|---|
function |
Il nome della funzione da eseguire nello script specificato. Il nome non include parentesi o parametri. Può fare riferimento a una funzione in una libreria inclusa come |
parameters[] |
I parametri da passare alla funzione in esecuzione. Il tipo di oggetto per ogni parametro deve corrispondere al tipo previsto in Apps Script. I parametri non possono essere tipi di oggetti specifici di Apps Script (ad esempio |
sessionState |
Obsoleta. Da utilizzare solo con componenti aggiuntivi Android. Un ID che rappresenta la sessione corrente dell'utente nell'app per Android per Documenti o Fogli Google, incluso come dati aggiuntivi nell'intent che avvia il componente aggiuntivo. Quando un componente aggiuntivo Android viene eseguito con uno stato di sessione, acquisisce i privilegi di uno script legato, ovvero può accedere a informazioni come la posizione attuale del cursore dell'utente (in Documenti) o la cella selezionata (in Fogli). Per recuperare lo stato, chiama |
devMode |
Se |
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
Rappresentazione di un'esecuzione di una funzione Apps Script iniziata con run. La risposta di esecuzione non arriva fino al termine dell'esecuzione della funzione. Il runtime di esecuzione massimo è elencato nella guida alle quote di Apps Script.
Una volta iniziata l'esecuzione, può avere uno di questi quattro risultati:
- Se la funzione script viene restituita correttamente, il campo
responsecontiene un oggettoExecutionResponsecon il valore restituito dalla funzione nel camporesultdell'oggetto. - Se la funzione script (o lo stesso Apps Script) genera un'eccezione, il campo
errorcontiene un oggettoStatus. Il campodetailsdell'oggettoStatuscontiene un array con un singolo oggettoExecutionErrorche fornisce informazioni sulla natura dell'errore. - Se l'esecuzione non è stata ancora completata, il campo
doneèfalsee non sono presenti né i campiresponsenéerror. - Se la chiamata
runnon va a buon fine (ad esempio a causa di una richiesta con formato non valido o di un errore di autorizzazione), il metodo restituisce un codice di risposta HTTP nell'intervallo 4XX con un formato diverso per il corpo della risposta. Le librerie client convertono automaticamente una risposta 4XX in una classe di eccezione.
| Rappresentazione JSON |
|---|
{ "done": boolean, // Union field |
| Campi | |
|---|---|
done |
Questo campo indica se l'esecuzione dello script è stata completata. Un'esecuzione completata ha un campo |
Campo unione result. Il risultato dell'operazione, che può essere un valore error o un valore response valido. Se done == false, non sono impostati né error né response. Se done == true, può essere impostato esattamente un valore tra error o response. Alcuni servizi potrebbero non fornire il risultato. result può essere solo uno dei seguenti: |
|
error |
Se una chiamata |
response |
Se la funzione script viene restituita correttamente, questo campo contiene un oggetto Un oggetto che contiene campi di tipo arbitrario. Un campo aggiuntivo |
Ambiti di autorizzazione
Richiede uno dei seguenti ambiti 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
Per ulteriori informazioni, consulta la panoramica di OAuth 2.0.
Stato
Se una chiamata run ha esito positivo ma la funzione di script (o lo stesso Apps Script) genera un'eccezione, il campo error del corpo della risposta contiene questo oggetto Status.
| Rappresentazione JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Campi | |
|---|---|
code |
Il codice di stato. Per questa API, il valore:
|
message |
Un messaggio di errore rivolto agli sviluppatori, in inglese. Qualsiasi messaggio di errore rivolto agli utenti viene localizzato e inviato nel campo |
details[] |
Un array che contiene un singolo oggetto Un oggetto che contiene campi di tipo arbitrario. Un campo aggiuntivo |