Jeśli tworzysz interfejs skryptu, możesz go opublikować jako aplikację internetową. Na przykład skrypt umożliwiający użytkownikom planowanie spotkań z członkami zespołu pomocy powinien być przedstawiony jako aplikacja internetowa, dzięki czemu użytkownicy będą mieli do niego dostęp bezpośrednio w przeglądarce.
W aplikacje internetowe można przekształcić zarówno samodzielne skrypty, jak i skrypty powiązane z aplikacjami Google Workspace , o ile spełniają one poniższe wymagania.
Wymagania dotyczące aplikacji internetowych
Skrypt może zostać opublikowany jako aplikacja internetowa, jeśli spełnia te wymagania:
- Zawiera funkcję
doGet(e)
lubdoPost(e)
. - Funkcja zwraca obiekt usługi HTML
HtmlOutput
lub obiekt usługa treściTextOutput
.
Parametry żądania
Gdy użytkownik korzysta z aplikacji 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 niej 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 adresu URL będącej ciągiem zapytania lub name=alice&n=1&n=2 |
e.parameter |
Obiekt par klucz-wartość odpowiadających parametrom żądania. W przypadku parametrów mających 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żywany, zawsze pusty. |
e.contentLength |
Długość treści żądania w przypadku żądań POST lub 332 |
e.postData.length |
Taka sama cena jak w usłudze 332 |
e.postData.type |
Typ MIME treści żądania POST text/csv |
e.postData.contents |
Tekst treści POST Alice,21 |
e.postData.name |
Zawsze wartość „postData” postData |
Na przykład do adresu URL można przekazać takie parametry jak username
i age
, jak w tym przykładzie:
https://script.google.com/.../exec?username=jsmith&age=21
Następnie możesz wyświetlić następujące parametry:
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óż.
Możesz udostępnić adres URL aplikacji internetowej osobom, które mają jej używać, pod warunkiem, że przyznasz im do niej 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 pozycji „Wybierz typ” kliknij Włącz typy wdrożeń > Aplikacja internetowa.
- Pod adresem URL aplikacji internetowej kliknij Kopiuj.
Wklej adres URL w przeglądarce i przetestuj aplikację internetową.
Ten adres URL kończy się na
/dev
i otwierają go tylko użytkownicy z uprawnieniami do edycji skryptu. Ta instancja aplikacji zawsze uruchamia ostatnio zapisany kod i jest przeznaczona tylko do testowania w trakcie tworzenia aplikacji.
Uprawnienia
Uprawnienia aplikacji internetowej różnią się w zależności od wybranego sposobu jej uruchamiania:
- Uruchom aplikację jako ja – w tym przypadku skrypt zawsze działa jako Ty, czyli właściciel skryptu, niezależnie od tego, kto uzyskuje dostęp do aplikacji internetowej.
- Uruchom aplikację, gdy użytkownik uzyskuje dostęp do aplikacji internetowej – w tym przypadku skrypt jest uruchamiany z tożsamością aktywnego użytkownika aplikacji internetowej. Dzięki temu uprawnieniu 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, trzeba ją najpierw wdrożyć. Będzie też potrzebny Wdrożony adres URL z okna Deploy
.
Aby umieścić aplikację internetową na stronie Witryny, wykonaj te czynności:
- Otwórz stronę Witryn, 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 może być konieczne autoryzację aplikacji internetowej przez osoby przeglądające ją przed jej normalnym uruchomieniem. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi prośby o autoryzację.
Aplikacje internetowe i historia przeglądarki
Może być pożądane, aby aplikacja internetowa Apps Script symulowała aplikację wielostronicową lub aplikację z dynamicznym interfejsem sterowanym za pomocą parametrów adresu URL. Aby to osiągnąć, możesz zdefiniować obiekt stanu reprezentujący interfejs aplikacji lub stronę i przekazywać ten stan do historii przeglądania, gdy użytkownik porusza się po aplikacji. Możesz też nasłuchiwać zdarzeń z historii, aby aplikacja internetowa wyświetlała odpowiedni interfejs, gdy użytkownik porusza się w obie strony za pomocą przycisków przeglądarki. Wysyłając zapytania o parametry adresu URL w czasie wczytywania, aplikacja może dynamicznie kompilować interfejs użytkownika na podstawie tych parametrów, co pozwala użytkownikowi 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 dynamicznego reagowania na zmiany w historii przeglądarki. Obejmuje to: przekazywanie stanów (proste obiekty, które można zdefiniować) do historii przeglądarki, zastępowanie najwyższego stanu w stosie historii oraz ustawienie funkcji wywołania zwrotnego detektora, która odpowiada na zmiany w historii.google.script.url
określa sposób pobrania parametrów adresu URL bieżącej strony i fragmentu adresu URL, jeśli występują.
Te interfejsy API historii są dostępne tylko dla aplikacji internetowych. Nie są one obsługiwane w przypadku pasków bocznych, okien dialogowych ani dodatków. Ta funkcja nie jest też zalecana w aplikacjach internetowych umieszczonych w Witrynach Google.