Classe google.script.run (API côté client)

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éthodeType 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

NomTypeDescription
...La plupart des types sont légaux, mais pas Date, Function, ou DOM autre que form ; voir la descriptionLes 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

NomTypeDescription
functionFunctionune 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

NomTypeDescription
functionFunctionune 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&quot; à 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

NomTypeDescription
objectObjectun 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