Klasa google.script.run (interfejs API po stronie klienta)

google.script.run to asynchroniczny interfejs API JavaScript po stronie klienta dostępny na stronach usług HTML, który może wywoływać funkcje Apps Script po stronie serwera. Aby korzystać z okien lub paska bocznego w Dokumentach, Arkuszach i Formularzach Google za pomocą kodu po stronie klienta, użyj funkcji google.script.host. Więcej informacji znajdziesz w przewodniku po komunikacji z funkcjami serwera w usłudze HTML.

Metody

MetodaZwracany typKrótki opis
myFunction(...) (dowolna funkcja po stronie serwera) void Wykonuje po stronie serwera funkcję Apps Script o odpowiedniej nazwie.
withFailureHandler(function) google.script.run Ustawia wywołanie zwrotne do uruchomienia, jeśli funkcja po stronie serwera zgłosi wyjątek.
withSuccessHandler(function) google.script.run Ustawia wywołanie zwrotne, które ma być uruchamiane, gdy funkcja po stronie serwera zostanie zwrócona.
withUserObject(object) google.script.run Ustawia obiekt, który ma być przekazywany jako drugi parametr do modułów obsługi powodzenia i niepowodzenia.

Szczegółowa dokumentacja

myFunction(...) (dowolna funkcja po stronie serwera)

Wykonuje po stronie serwera funkcję Apps Script o odpowiedniej nazwie.

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>

Parametry

NazwaTypOpis
...Większość typów jest legalna, ale nie w elementach Date, Function ani DOM poza form. Zobacz opis.Parametry prawne to elementy podstawowe JavaScript, takie jak Number, Boolean, String lub null, a także obiekty i tablice JavaScriptu składające się z elementów podstawowych, obiektów i tablic. Element form na stronie też jest dozwolony jako parametr, ale musi być jedynym parametrem funkcji. Żądania kończą się niepowodzeniem, jeśli próbujesz przekazać element Date, Function, element DOM poza form albo inny zabroniony typ, w tym niedozwolone typy w obiektach lub tablicach. Obiekty, które tworzą odwołania cykliczne, również przestaną działać, a niezdefiniowane pola w tablicach staną się wartością null. Zwróć uwagę, że obiekt przekazany do serwera staje się kopią oryginału. Jeśli funkcja serwera otrzyma obiekt i zmieni jego właściwości, nie wpłynie to na właściwości klienta.

Powroty

void – ta metoda jest asynchroniczna i nie zwraca bezpośrednio; jednak funkcja po stronie serwera może zwrócić wartość dla klienta jako parametr przekazany do modułu obsługi powodzenia. Poza tym typy zwrotów podlegają tym samym ograniczeniom co typy parametrów, z tą różnicą, że element form nie jest uprawnionym typem zwracania.


withFailureHandler(function)

Ustawia wywołanie zwrotne do uruchomienia, jeśli funkcja po stronie serwera zgłosi wyjątek. Obiekt Error jest przekazywany do funkcji jako pierwszy argument, a obiekt użytkownika (jeśli występuje) – jako drugi argument. Bez modułu obsługi błędów błędy są rejestrowane w konsoli JavaScript. Aby to zastąpić, wywołaj withFailureHandler(null) lub podaj moduł obsługi awarii, który nic nie robi.

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>

Parametry

NazwaTypOpis
functionFunctionfunkcję wywołania zwrotnego po stronie klienta, która zostanie uruchomiona, jeśli funkcja po stronie serwera zgłosi wyjątek; obiekt Error jest przekazywany do funkcji jako pierwszy argument, a obiekt użytkownika (jeśli występuje) jest przekazywany jako drugi argument

Powroty

google.script.run – „program uruchamiający skrypty” do tworzenia łańcuchów.


withSuccessHandler(function)

Ustawia wywołanie zwrotne, które ma być uruchamiane, gdy funkcja po stronie serwera zostanie zwrócona. Zwracana wartość serwera jest przekazywana do funkcji jako pierwszy argument, a obiekt użytkownika (jeśli występuje) – jako drugi 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>

Parametry

NazwaTypOpis
functionFunctionuruchomienia funkcji wywołania zwrotnego po stronie klienta, gdy ta funkcja zostanie zwrócona; zwracana wartość serwera jest przekazywana do funkcji jako pierwszy argument, a obiekt użytkownika (jeśli występuje) – jako drugi argument

Powroty

google.script.run – „program uruchamiający skrypty” do tworzenia łańcuchów.


withUserObject(object)

Ustawia obiekt, który ma być przekazywany jako drugi parametr do modułów obsługi powodzenia i niepowodzenia. Ten „obiekt użytkownika” (który nie należy mylić z klasą User) pozwala funkcjom wywołania zwrotnego reagować na kontekst, w którym klient skontaktował się z serwerem. Obiekty użytkowników nie są wysyłane do serwera, więc nie podlegają ograniczeniom dotyczącym parametrów ani zwracanych wartości w przypadku wywołań serwera. Obiekty użytkownika nie mogą jednak być obiektami utworzonymi za pomocą operatora 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>

Parametry

NazwaTypOpis
objectObjectobiekt do przekazania jako drugi parametr do modułów obsługi powodzenia i niepowodzenia. Obiekty użytkowników nie są wysyłane do serwera, więc nie podlegają ograniczeniom dotyczącym parametrów ani zwracanych wartości dla wywołań serwera. Obiekty użytkownika nie mogą jednak być obiektami utworzonymi za pomocą operatora new

Powroty

google.script.run – „program uruchamiający skrypty” do tworzenia łańcuchów.