google.script.run
est une API JavaScript asynchrone côté client, disponible dans
Pages de services HTML pouvant appeler Apps Script côté serveur
fonctions. Pour interagir avec les boîtes de dialogue ou les barres latérales dans Google Docs, Sheets ou Forms côté client
utilisez google.script.host
. Pour en savoir plus, consultez les
guide de communication avec les fonctions de serveur
dans le service HTML.
Méthodes
Méthode | Type renvoyé | Brève description |
---|---|---|
myFunction(...) (n'importe quelle fonction côté serveur) |
void |
Exécute la fonction Apps Script côté serveur avec le nom correspondant. |
withFailureHandler(function) |
google.script.run |
Définit une fonction de rappel à exécuter si la fonction côté serveur génère une exception. |
withSuccessHandler(function) |
google.script.run |
Définit une fonction de rappel à exécuter si la fonction côté serveur aboutit. |
withUserObject(object) |
google.script.run |
Définit un objet à transmettre en tant que deuxième paramètre aux gestionnaires de réussite et d'échec. |
Documentation détaillée
myFunction(...)
(n'importe quelle fonction côté serveur)
Exécute la fonction Apps Script côté serveur avec le nom correspondant.
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>
Paramètres
Nom | Type | Description |
---|---|---|
... | La plupart des types sont légaux, mais pas Date , Function ,
ou DOM autre que form ; voir la description | Les paramètres juridiques sont JavaScript
primitives telles que Number , Boolean , String ou
null , ainsi que des objets et des tableaux JavaScript composés de primitives,
des objets et des tableaux. Un élément form de la page est également autorisé en tant que paramètre, mais
il doit s'agir du seul paramètre de la fonction. Les requêtes échouent si vous tentez de transmettre un
Date , Function , élément DOM en dehors d'un form ou autre
type interdit, y compris les types interdits dans les objets ou les tableaux Objets créant un cercle
les références échouent également, et les champs non définis dans les tableaux deviennent null . Notez que
un objet transmis au serveur devient une copie de l'original. Si une fonction serveur reçoit une
et modifie ses propriétés, les propriétés du client ne sont pas affectées. |
Renvois
void
: cette méthode est asynchrone et ne renvoie pas directement de résultat. Toutefois,
la fonction côté serveur peut renvoyer une valeur au client sous la forme d'un paramètre transmis à
successmanager; De plus, les types renvoyés sont soumis au
les mêmes restrictions que les types de paramètres, à la différence qu'un élément form
n'est pas
type renvoyé
withFailureHandler(function)
Définit une fonction de rappel à exécuter si la fonction côté serveur génère une exception. La
Error
est transmis à la fonction en tant que premier argument, et l'objet
L'objet utilisateur (le cas échéant) est transmis en tant que deuxième argument. Sans
un gestionnaire d'échecs, les échecs sont consignés dans la console JavaScript. Pour modifier ce paramètre, appelez
withFailureHandler(null)
ou fournir un gestionnaire d'échecs qui n'a aucun effet.
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>
Paramètres
Nom | Type | Description |
---|---|---|
function | Function | une fonction de rappel côté client pour
s'exécute si la fonction côté serveur génère une exception. la
Error
est transmis à la fonction en tant que premier argument, et l'objet
L'objet utilisateur (le cas échéant) est transmis en tant que deuxième argument. |
Renvois
google.script.run
: cet "exécuteur de script" pour le chaînage
withSuccessHandler(function)
Définit une fonction de rappel à exécuter si la fonction côté serveur aboutit. Le serveur la valeur renvoyée est transmise à la fonction en tant que premier argument, et la valeur L'objet utilisateur (le cas échéant) est transmis en tant que deuxième argument.
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>
Paramètres
Nom | Type | Description |
---|---|---|
function | Function | une fonction de rappel côté client pour est exécuté si la fonction côté serveur est renvoyée avec succès ; la valeur renvoyée par le serveur est transmise fonction comme premier argument et l'objet utilisateur (le cas échéant) est transmis en tant que deuxième argument |
Renvois
google.script.run
: cet "exécuteur de script" pour le chaînage
withUserObject(object)
Définit un objet à transmettre en tant que deuxième paramètre aux gestionnaires de réussite et d'échec. Cet "utilisateur"
object" à ne pas confondre
La classe User
permet au rappel
les fonctions répondent au contexte
dans lequel le client a contacté le serveur. Étant donné que les objets utilisateur
ne sont pas envoyées au serveur, elles ne sont pas soumises aux restrictions des paramètres et renvoient
pour les appels de serveur. Toutefois, les objets User ne peuvent pas être des objets
construit avec l'opérateur 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>
Paramètres
Nom | Type | Description |
---|---|---|
object | Object | un objet à transmettre en tant que deuxième paramètre
aux gestionnaires de réussite et d'échec ; car les objets utilisateur ne sont pas envoyés au serveur.
sujet aux restrictions sur les paramètres et les valeurs de retour pour
appels de serveur. Toutefois, les objets Utilisateur ne peuvent pas être des objets construits
avec l'opérateur new |
Renvois
google.script.run
: cet "exécuteur de script" pour le chaînage