google.script.run
è un'API JavaScript lato client asincrona disponibile in
Pagine di servizio HTML che possono chiamare Apps Script lato server
funzioni. Interagire con finestre di dialogo o barre laterali in Documenti, Fogli o Moduli Google dal lato client
utilizza google.script.host
. Per ulteriori informazioni, consulta
guida alla comunicazione con le funzioni del server
nel servizio HTML.
Metodi
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
myFunction(...) (qualsiasi funzione lato server) |
void |
Esegue la funzione Apps Script lato server con il nome corrispondente. |
withFailureHandler(function) |
google.script.run |
Imposta una funzione di callback da eseguire se la funzione lato server genera un'eccezione. |
withSuccessHandler(function) |
google.script.run |
Imposta una funzione di callback da eseguire se la funzione lato server viene restituita correttamente. |
withUserObject(object) |
google.script.run |
Imposta un oggetto da passare come secondo parametro ai gestori di operazioni riuscite e non riuscite. |
Documentazione dettagliata
myFunction(...)
(qualsiasi funzione lato server)
Esegue la funzione Apps Script lato server con il nome corrispondente.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function doSomething() { Logger.log('I was called!'); }
Index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> google.script.run.doSomething(); </script> </head> <body> </body> </html>
Parametri
Nome | Tipo | Descrizione |
---|---|---|
... | La maggior parte dei tipi è legale, ma non Date , Function ,
o DOM oltre a form ; vedi la descrizione | I parametri legali sono JavaScript
come Number , Boolean , String o
null , nonché oggetti e array JavaScript composti da primitive,
come oggetti e matrici. Anche un elemento form all'interno della pagina è consentito come parametro, ma
deve essere l'unico parametro della funzione. Le richieste non vanno a buon fine se tenti di passare
Date , Function , elemento DOM oltre a form o altro
tipo vietato, inclusi tipi vietati all'interno di oggetti o array. Oggetti che creano circolari
anche i riferimenti non riusciranno e i campi non definiti all'interno degli array diventeranno null . Tieni presente che
un oggetto passato al server diventa una copia dell'originale. Se una funzione server riceve un
e le relative proprietà, le proprietà del client non sono interessate. |
Invio
void
: questo metodo è asincrono e non restituisce direttamente; tuttavia,
funzione lato server può restituire un valore al client come parametro passato a un
gestore del successo; Inoltre, i tipi di restituzione sono soggetti alle
stesse restrizioni dei tipi di parametri, ad eccezione del fatto che un elemento form
non è un
tipo restituito
withFailureHandler(function)
Imposta una funzione di callback da eseguire se la funzione lato server genera un'eccezione. La
Error
viene passato alla funzione come primo argomento e
oggetto utente (se presente) viene passato come secondo argomento. Senza
un gestore degli errori, gli errori vengono registrati nella console JavaScript. Per eseguire l'override, richiama
withFailureHandler(null)
o fornisci un gestore degli errori che non esegue alcuna operazione.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function getUnreadEmails() { // 'got' instead of 'get' will throw an error. return GmailApp.gotInboxUnreadCount(); }
Index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> function onFailure(error) { var div = document.getElementById('output'); div.innerHTML = "ERROR: " + error.message; } google.script.run.withFailureHandler(onFailure) .getUnreadEmails(); </script> </head> <body> <div id="output"></div> </body> </html>
Parametri
Nome | Tipo | Descrizione |
---|---|---|
function | Function | una funzione di callback lato client
se la funzione lato server genera un'eccezione; il
Error
viene passato alla funzione come primo argomento e
oggetto utente (se presente) viene passato come secondo argomento |
Invio
google.script.run
: questo "script runner", per concatenare
withSuccessHandler(function)
Imposta una funzione di callback da eseguire se la funzione lato server viene restituita correttamente. Il valore il valore restituito viene passato alla funzione come primo argomento e oggetto utente (se presente) viene passato come secondo argomento.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function getUnreadEmails() { return GmailApp.getInboxUnreadCount(); }
Index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> function onSuccess(numUnread) { var div = document.getElementById('output'); div.innerHTML = 'You have ' + numUnread + ' unread messages in your Gmail inbox.'; } google.script.run.withSuccessHandler(onSuccess) .getUnreadEmails(); </script> </head> <body> <div id="output"></div> </body> </html>
Parametri
Nome | Tipo | Descrizione |
---|---|---|
function | Function | una funzione di callback lato client eseguire se la funzione lato server restituisce correttamente; il valore restituito dal server viene passato come primo argomento e l'oggetto utente (se presente) viene passato come secondo argomento |
Invio
google.script.run
: questo "script runner", per concatenare
withUserObject(object)
Imposta un oggetto da passare come secondo parametro ai gestori di operazioni riuscite e non riuscite. Questo "utente
object" da non confondere con
Classe User
: consente di richiamare
rispondono al contesto in cui il client ha contattato il server. Poiché gli oggetti utente
non vengono inviati al server, non sono soggetti alle restrizioni sui parametri
per le chiamate al server. Gli oggetti utente non possono, tuttavia, essere oggetti
creato con l'operatore new
.
Code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile('Index'); } function getEmail() { return Session.getActiveUser().getEmail(); }
Index.html
<!DOCTYPE html> <html> <head> <base target="_top"> <script> function updateButton(email, button) { button.value = 'Clicked by ' + email; } </script> </head> <body> <input type="button" value="Not Clicked" onclick="google.script.run .withSuccessHandler(updateButton) .withUserObject(this) .getEmail()" /> <input type="button" value="Not Clicked" onclick="google.script.run .withSuccessHandler(updateButton) .withUserObject(this) .getEmail()" /> </body> </html>
Parametri
Nome | Tipo | Descrizione |
---|---|---|
object | Object | un oggetto da passare come secondo parametro
ai gestori delle operazioni riuscite e non riuscite; poiché gli oggetti utente non vengono inviati al server e non vengono
alle limitazioni dei parametri e dei valori restituiti per
chiamate al server. Tuttavia, gli oggetti utente non possono essere creati
con l'operatore new |
Invio
google.script.run
: questo "script runner", per concatenare