Klasse google.script.run (Clientseitiges API)

google.script.run ist eine asynchrone clientseitige JavaScript API, die in HTML-Dienstseiten, die serverseitiges Apps Script aufrufen können Funktionen. So interagieren Sie auf Clientseite mit Dialogfeldern oder Seitenleisten in Google Docs, Google Tabellen oder Google Formulare: Code eingeben, verwenden Sie google.script.host. Weitere Informationen finden Sie in der Leitfaden zur Kommunikation mit Serverfunktionen im HTML-Dienst.

Methoden

MethodeRückgabetypKurzbeschreibung
myFunction(...) (beliebige serverseitige Funktion) void Führt die serverseitige Apps Script-Funktion mit dem entsprechenden Namen aus.
withFailureHandler(function) google.script.run Legt eine Callback-Funktion fest, die ausgeführt werden soll, wenn die serverseitige Funktion eine Ausnahme auslöst.
withSuccessHandler(function) google.script.run Legt eine Callback-Funktion fest, die ausgeführt werden soll, wenn die serverseitige Funktion erfolgreich zurückgegeben wird.
withUserObject(object) google.script.run Legt ein Objekt fest, das als zweiter Parameter an die Erfolgs- und Fehler-Handler übergeben wird.

Detaillierte Dokumentation

myFunction(...) (beliebige serverseitige Funktion)

Führt die serverseitige Apps Script-Funktion mit dem entsprechenden Namen aus.

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>

Parameter

NameTypBeschreibung
...Die meisten Typen sind legal, aber keine Date, Function, oder DOM-Element außer form; siehe BeschreibungRechtliche Parameter sind JavaScript Primitive wie Number, Boolean, String oder null sowie JavaScript-Objekte und -Arrays, die aus Primitiven bestehen, Objekte und Arrays. Ein form-Element innerhalb der Seite ist auch als Parameter zulässig, aber darf es der einzige Parameter der Funktion sein. Anfragen schlagen fehl, wenn Sie versuchen, eine Date, Function, DOM-Element außer form oder einem anderen unzulässiger Typ, einschließlich unzulässiger Typen in Objekten oder Arrays. Objekte, die Kreislaufdiagramme erstellen Referenzen schlagen ebenfalls fehl und nicht definierte Felder innerhalb von Arrays werden zu null. Beachten Sie, dass wird ein an den Server übergebenes Objekt zu einer Kopie des Originals. Wenn eine Serverfunktion ein -Objekt enthält und seine Eigenschaften ändert, sind die Eigenschaften auf dem Client nicht betroffen.

Rückflug

void: Diese Methode ist asynchron und gibt nicht direkt zurück. Die Funktion kann eine serverseitige Funktion einen Wert an den Client als Parameter zurückgeben, der an einen Erfolgs-Handler; gelten außerdem die Rückgabetypen dieselben Einschränkungen wie für Parametertypen, mit der Ausnahme, dass form-Elemente Rückgabetyp


withFailureHandler(function)

Legt eine Callback-Funktion fest, die ausgeführt werden soll, wenn die serverseitige Funktion eine Ausnahme auslöst. Die Error -Objekt als erstes Argument an die Funktion übergeben wird, und der Parameter Nutzerobjekt (falls vorhanden) wird als zweites Argument übergeben. Ohne Fehler-Handler sind, werden Fehler in der JavaScript-Konsole protokolliert. Um dies zu überschreiben, rufen Sie withFailureHandler(null) oder geben Sie einen Fehler-Handler an, der nichts bewirkt.

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>

Parameter

NameTypBeschreibung
functionFunctioneine clientseitige Callback-Funktion verwendet, ausgeführt, wenn die serverseitige Funktion eine Ausnahme auslöst die Error -Objekt als erstes Argument an die Funktion übergeben wird, und der Parameter Nutzerobjekt (falls vorhanden) wird als zweites Argument übergeben

Rückflug

google.script.run – dieser "Script Runner", zum Verkettungen


withSuccessHandler(function)

Legt eine Callback-Funktion fest, die ausgeführt werden soll, wenn die serverseitige Funktion erfolgreich zurückgegeben wird. Die wird der Rückgabewert als erstes Argument an die Funktion übergeben, und der Nutzerobjekt (falls vorhanden) wird als zweites Argument übergeben.

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>

Parameter

NameTypBeschreibung
functionFunctioneine clientseitige Callback-Funktion verwendet, ausgeführt, wenn die serverseitige Funktion erfolgreich zurückgegeben wird; wird der Rückgabewert des Servers an den als erstes Argument und das Nutzerobjekt (falls vorhanden) wird als zweites Argument übergeben.

Rückflug

google.script.run – dieser "Script Runner", zum Verkettungen


withUserObject(object)

Legt ein Objekt fest, das als zweiter Parameter an die Erfolgs- und Fehler-Handler übergeben wird. Dieser „Nutzer object&quot; – nicht zu verwechseln mit dem Die Klasse User – ermöglicht den Callback -Funktionen auf den Kontext reagieren, in dem der Client den Server kontaktiert hat. Da Nutzerobjekte nicht an den Server gesendet werden, unterliegen sie nicht den Beschränkungen für Parameter und Werte für Serveraufrufe Nutzerobjekte können jedoch keine Objekte sein. erstellt mit dem new-Operator.

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>

Parameter

NameTypBeschreibung
objectObjectEin Objekt, das als zweiter Parameter übergeben werden soll. Erfolgs- und Fehler-Handlern behandelt; da Nutzerobjekte nicht an den Server gesendet werden, unterliegen den Einschränkungen für Parameter und Rückgabewerte für Serveraufrufe. Nutzerobjekte können jedoch nicht konstruiert werden. mit dem Operator new

Rückflug

google.script.run – dieser "Script Runner", zum Verkettungen