Jeśli utworzysz interfejs użytkownika skryptu, możesz opublikować go jako aplikację internetową. Na przykład skrypt umożliwiający użytkownikom planowanie spotkań z członkami zespołu pomocy będzie najlepiej prezentować w postaci aplikacji internetowej, aby użytkownicy mogli korzystać z niego bezpośrednio w przeglądarce.
Zarówno samodzielne skrypty, jak i skrypty powiązane z Google Workspace aplikacjami można przekształcić w aplikacje internetowe, o ile spełniają one poniższe wymagania.
Wymagania dotyczące aplikacji internetowych
Skrypt można opublikować jako aplikację internetową, jeśli spełnia on te wymagania:
- Zawiera funkcję
doGet(e)
lubdoPost(e)
. - Ta funkcja zwraca obiekt usługi HTML
HtmlOutput
lub obiekt usługi treściTextOutput
.
Parametry żądania
Gdy użytkownik odwiedza aplikację lub program wysyła do niej żądanie HTTP GET
, Apps Script uruchamia funkcję doGet(e)
. Gdy program wysyła do aplikacji żądanie HTTP POST
, Apps Script uruchamia zamiast tego doPost(e)
. W obu przypadkach argument e
reprezentuje parametr zdarzenia, który może zawierać informacje o dowolnych parametrach żądania. Struktura obiektu zdarzenia jest widoczna w tabeli poniżej:
Pola | |
---|---|
e.queryString |
Wartość części ciągu zapytania w adresie URL lub name=alice&n=1&n=2 |
e.parameter |
Obiekt par klucz/wartość odpowiadający parametrom żądania. W przypadku parametrów, które mają wiele wartości, zwracana jest tylko pierwsza wartość. {"name": "alice", "n": "1"} |
e.parameters |
Obiekt podobny do {"name": ["alice"], "n": ["1", "2"]} |
e.pathInfo |
Ścieżka adresu URL po |
e.contextPath |
Nieużywane, zawsze pusty ciąg znaków. |
e.contentLength |
Długość treści żądania w przypadku żądań POST lub 332 |
e.postData.length |
Taka sama jak 332 |
e.postData.type |
Typ MIME treści POST text/csv |
e.postData.contents |
Treść treści POST Alice,21 |
e.postData.name |
Zawsze ma wartość „postData”. postData |
Możesz na przykład przekazać do adresu URL parametry takie jak username
i age
:
https://script.google.com/.../exec?username=jsmith&age=21
Następnie możesz wyświetlić te parametry:
function doGet(e) {
var params = JSON.stringify(e);
return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}
W tym przykładzie funkcja doGet(e)
zwraca takie dane wyjściowe:
{
"queryString": "username=jsmith&age=21",
"parameter": {
"username": "jsmith",
"age": "21"
},
"contextPath": "",
"parameters": {
"username": [
"jsmith"
],
"age": [
"21"
]
},
"contentLength": -1
}
Wdrażanie skryptu jako aplikacji internetowej
Aby wdrożyć skrypt jako aplikację internetową, wykonaj te czynności:
- W prawym górnym rogu projektu skryptu kliknij Wdróż > Nowe wdrożenie.
- Obok opcji „Wybierz typ” kliknij Włącz typy wdrożeń > Aplikacja internetowa.
- W polach w sekcji „Konfiguracja wdrożenia” wpisz informacje o aplikacji internetowej.
- Kliknij Wdróż.
Adres URL aplikacji internetowej możesz udostępnić tym użytkownikom, którzy mają z niej korzystać, o ile przyznasz im dostęp.
Testowanie wdrożenia aplikacji internetowej
Aby przetestować skrypt jako aplikację internetową, wykonaj te czynności:
- W prawym górnym rogu projektu skryptu kliknij Wdróż > Testuj wdrożenia.
- Obok opcji „Wybierz typ” kliknij Włącz typy wdrożeń > Aplikacja internetowa.
- Pod adresem URL aplikacji internetowej kliknij Kopiuj.
Wklej URL w przeglądarce i przetestuj swoją aplikację internetową.
Ten adres URL kończy się na
/dev
i mają do niego dostęp tylko użytkownicy z uprawnieniami do edycji skryptu. Ta instancja zawsze uruchamia ostatnio zapisany kod i jest przeznaczona do testowania w trakcie programowania.
Uprawnienia
Uprawnienia aplikacji internetowej różnią się w zależności od wybranego sposobu jej uruchamiania:
- Uruchom aplikację jako ja – w tym przypadku skrypt jest zawsze wykonywany w takiej samej postaci jak właściciel skryptu, niezależnie od tego, kto uzyskuje dostęp do aplikacji internetowej.
- Uruchom aplikację jako użytkownik uzyskujący dostęp do aplikacji internetowej – w tym przypadku skrypt uruchamia się zgodnie z tożsamością aktywnego użytkownika korzystającego z aplikacji internetowej. Dzięki tym uprawnieniom aplikacja internetowa wyświetla adres e-mail właściciela skryptu, gdy użytkownik autoryzuje dostęp.
Umieszczanie aplikacji internetowej w Witrynach Google
Aby umieścić aplikację internetową w Witrynach Google, musisz ją najpierw wdrożyć. Potrzebny jest też Wdrożony adres URL z okna Deploy
.
Aby umieścić aplikację internetową na stronie Witryny, wykonaj te czynności:
- Otwórz stronę w Witrynach, do której chcesz dodać aplikację internetową.
- Wybierz Wstaw > Umieść adres URL.
- Wklej adres URL aplikacji internetowej i kliknij DODAJ.
Aplikacja internetowa pojawi się w ramce na podglądzie strony. Po opublikowaniu strony użytkownicy witryny mogą wymagać autoryzacji aplikacji internetowej, aby mogła ona działać normalnie. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi prośbę o autoryzację.
Aplikacje internetowe i historia przeglądarki
Pożądane może być symulowanie aplikacji internetowej Apps Script lub aplikacji z dynamicznym interfejsem sterowanym za pomocą parametrów adresu URL. W tym celu możesz zdefiniować obiekt stanu reprezentujący interfejs lub stronę aplikacji i przekazać ten stan do historii przeglądania w trakcie poruszania się użytkownika po aplikacji. Możesz też nasłuchiwać zdarzeń z historii, aby aplikacja internetowa wyświetlała prawidłowy interfejs, gdy użytkownik porusza się w obie strony przy użyciu przycisków przeglądarki. Dzięki wysyłaniu zapytań dotyczących parametrów adresu URL w czasie wczytywania aplikacja może dynamicznie tworzyć na ich podstawie interfejs użytkownika. Dzięki temu użytkownik może uruchamiać aplikację w określonym stanie.
Apps Script udostępnia 2 asynchroniczne interfejsy API JavaScript po stronie klienta, które ułatwiają tworzenie aplikacji internetowych połączonych z historią przeglądarki:
google.script.history
udostępnia metody umożliwiające dynamiczną reagowanie na zmiany w historii przeglądania. Obejmuje to wypychanie stanów (prostych obiektów, które można zdefiniować) do historii przeglądarki, zastępowanie najwyższego stanu w stosie historii oraz ustawienie funkcji wywołania zwrotnego na potrzeby reagowania na zmiany w historii.Narzędzie
google.script.url
udostępnia sposoby pobierania parametrów adresu URL bieżącej strony i fragmentu adresu URL (jeśli są dostępne).
Te interfejsy API historii są dostępne tylko dla aplikacji internetowych. Nie są one obsługiwane w przypadku pasków bocznych, okien ani dodatków. Nie zalecamy też korzystania z tej funkcji w aplikacjach internetowych umieszczonych w Witrynach Google.