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
Metoda | Zwracany typ | Kró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
Nazwa | Typ | Opis |
---|---|---|
... | 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
Nazwa | Typ | Opis |
---|---|---|
function | Function | funkcję 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
Nazwa | Typ | Opis |
---|---|---|
function | Function | uruchomienia 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
Nazwa | Typ | Opis |
---|---|---|
object | Object | obiekt 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.