Jeśli utworzysz interfejs użytkownika do skryptu, możesz opublikować go jako aplikację internetową. Na przykład skrypt, który umożliwia użytkownikom planowanie spotkań z członkami zespołu pomocy, najlepiej prezentuje się jako aplikacja internetowa, aby użytkownicy mieli do niego dostęp 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ą poniższe wymagania.
Wymagania dotyczące aplikacji internetowych
Skrypt można opublikować jako aplikację internetową, jeśli spełnia 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
podaje parametr zdarzenia, który może zawierać informacje o dowolnych parametrach żądania. Struktura obiektu zdarzenia jest przedstawiona 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. |
e.contentLength |
Długość treści żądania w przypadku żądań POST lub 332 |
e.postData.length |
Tyle samo co 332 |
e.postData.type |
Typ MIME treści POST text/csv |
e.postData.contents |
Tekst treści żądania 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
, jak pokazano poniżej:
https://script.google.com/.../exec?username=jsmith&age=21
Następnie możesz wyświetlić parametry w następujący sposób:
function doGet(e) {
var params = JSON.stringify(e);
return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}
W powyższym przykładzie funkcja doGet(e)
zwraca te 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.
- Wpisz informacje o aplikacji internetowej w polach w sekcji „Konfiguracja wdrożenia”.
- Kliknij Wdróż.
Adres URL aplikacji internetowej możesz udostępnić użytkownikom, którzy mają mieć do niej dostęp, pod warunkiem, że przyznano im do nich 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ą.
Adres URL kończy się na
/dev
i dostęp do niego mają tylko użytkownicy z uprawnieniami do edycji skryptu. Ta instancja aplikacji zawsze uruchamia ostatnio zapisany kod i jest przeznaczona tylko 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 uruchamiany tak samo jak Ty jako właściciel skryptu, bez względu na to, kto korzysta z aplikacji internetowej.
- Uruchom aplikację jako użytkownik uzyskujący dostęp do aplikacji internetowej – w tym przypadku skrypt jest uruchamiany pod tożsamością aktywnego użytkownika korzystającego z aplikacji internetowej. To uprawnienie powoduje, że 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 URL z okna Deploy
.
Aby umieścić aplikację internetową na stronie Witryn, wykonaj te czynności:
- Otwórz stronę Witryny, 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. Gdy opublikujesz stronę, użytkownicy witryny będą musieli autoryzować aplikację internetową, zanim będzie ona działać prawidłowo. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi prośby o autoryzację.
Aplikacje internetowe i historia przeglądarki
Wskazane może być, aby aplikacja internetowa Apps Script symulowała aplikację wielostronicową lub aplikacja z dynamicznym interfejsem sterowana za pomocą parametrów adresu URL. W tym celu możesz zdefiniować obiekt stanu reprezentujący interfejs lub stronę aplikacji i przekazywać ten stan do historii przeglądarki, gdy użytkownik porusza się po aplikacji. Możesz też rejestrować zdarzenia z historii, aby aplikacja internetowa wyświetlała prawidłowy interfejs, gdy użytkownik porusza się przy użyciu przycisków przeglądarki. Dzięki wysyłaniu zapytań dotyczących parametrów adresu URL podczas wczytywania aplikacja może dynamicznie kompilować interfejs na podstawie tych parametrów, co pozwala użytkownikowi uruchamiać aplikację w określonym stanie.
Apps Script udostępnia dwa 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 przenoszenie stanów (prostych obiektów, które można zdefiniować) na historię przeglądarki, zastępowanie najwyższego stanu w stosie historii oraz ustawianie funkcji wywołania zwrotnego nasłuchiwania, która odpowiada na zmiany w historii.Narzędzie
google.script.url
umożliwia pobieranie parametrów adresu URL bieżącej strony i fragmentu adresu URL (jeśli występują).
Interfejsy API historii są dostępne tylko dla aplikacji internetowych. Nie działają z paskami bocznymi, oknami ani dodatkami. Nie zalecamy też korzystania z tej funkcji w aplikacjach internetowych umieszczonych w Witrynach Google.