Jeśli tworzysz interfejs użytkownika dla skryptu, możesz opublikować skrypt jako aplikację internetową. Na przykład skrypt, który umożliwia użytkownikom umawianie spotkań z członkami zespołu pomocy, najlepiej zaprezentować jako aplikację internetową, aby użytkownicy mogli uzyskać do niej dostęp bezpośrednio z przeglądarki.
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 te wymagania:
- Zawiera funkcję
doGet(e)
lubdoPost(e)
. - 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 HTTPGET
, Apps Script uruchamia funkcjędoGet(e)
. Gdy program wysyła do aplikacji żądanie HTTPPOST
, 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 adresu URL zawierającej ciąg zapytania lub name=alice&n=1&n=2 |
e.parameter |
Obiekt par klucz/wartość odpowiadających parametrom żądania. W przypadku parametrów, które mają wiele wartości, zwracana jest tylko pierwsza z nich. {"name": "alice", "n": "1"} |
e.parameters |
Obiekt podobny do {"name": ["alice"], "n": ["1", "2"]} |
e.pathInfo |
Ścieżka adresu URL po znaku |
e.contextPath |
Nie uż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 w przypadku 332 |
e.postData.type |
Typ MIME treści żądania POST text/csv |
e.postData.contents |
Tekst treści żądania POST Alice,21 |
e.postData.name |
Zawsze wartość „postData” postData |
Możesz na przykład przekazać do adresu URL parametry username
i age
w ten sposób:
https://script.google.com/.../exec?username=jsmith&age=21
Następnie możesz wyświetlić parametry w ten sposób:
function doGet(e) {
var params = JSON.stringify(e);
return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}
W przykładzie powyżej 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 pozycji „Wybierz typ” kliknij Włącz typy wdrożenia > Aplikacja internetowa.
- Wpisz informacje o aplikacji internetowej w polach w sekcji „Konfiguracja wdrożenia”.
- Kliknij Wdróż.
Adres URL aplikacji internetowej możesz udostępnić osobom, które mają z niej korzystać, pod warunkiem że 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żenia > 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 jest dostępny tylko dla użytkowników, którzy mają uprawnienia do edycji skryptu. Ta instancja aplikacji zawsze uruchamia ostatnio zapisany kod i jest przeznaczona tylko do testowania podczas programowania.
Uprawnienia
Uprawnienia aplikacji internetowej różnią się w zależności od sposobu jej uruchomienia:
- Uruchom aplikację jako ja – w tym przypadku skrypt jest zawsze wykonywany jako Ty, 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 jest uruchamiany z tożsamością aktywnego użytkownika korzystającego z aplikacji internetowej. Takie podejście do uprawnień powoduje, że gdy użytkownik autoryzuje dostęp, aplikacja internetowa wyświetla adres e-mail właściciela skryptu.
Umieszczanie aplikacji internetowej w Witrynach Google
Aby osadzić aplikację internetową w Witrynach Google, musisz najpierw ją wdrożyć. Potrzebujesz też URL-a wdrożonej aplikacji z okna Deploy
.
Aby osadzić aplikację internetową na stronie Witryn, wykonaj te czynności:
- Otwórz stronę Witryn, do której chcesz dodać aplikację internetową.
- Kliknij Wstaw > Umieść adres URL.
- Wklej adres URL aplikacji internetowej, a potem kliknij DODAJ.
Aplikacja internetowa pojawi się w ramce w podglądzie strony. Gdy opublikujesz stronę, użytkownicy witryny mogą musieć autoryzować aplikację internetową, zanim zacznie ona działać prawidłowo. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi prośby o autoryzację.
Aplikacje internetowe i historia przeglądarki
Może być przydatne, aby aplikacja internetowa Apps Script symulowała aplikację wielostronicową lub aplikację z dynamicznym interfejsem użytkownika kontrolowanym za pomocą parametrów URL. Aby to zrobić, możesz zdefiniować obiekt stanu reprezentujący interfejs lub stronę aplikacji i przesyłać stan do historii przeglądarki, gdy użytkownik porusza się po aplikacji. Możesz też nasłuchiwać zdarzeń historii, aby aplikacja internetowa wyświetlała prawidłowy interfejs, gdy użytkownik cofa się i przechodzi do przodu za pomocą przycisków przeglądarki. Wysyłając zapytanie o parametry adresu URL w momencie wczytywania, możesz dynamicznie tworzyć interfejs aplikacji na podstawie tych parametrów, co pozwoli użytkownikowi uruchomić aplikację w określonym stanie.
Apps Script udostępnia 2 asynchroniczne interfejsy API JavaScript po stronie klienta, które pomagają tworzyć aplikacje internetowe połączone z historią przeglądarki:
google.script.history
udostępnia metody umożliwiające dynamiczne reagowanie na zmiany w historii przeglądarki. Obejmuje to: umieszczanie stanów (prostych obiektów, które możesz zdefiniować) w historii przeglądarki, zastępowanie stanu najwyższego poziomu w stosie historii i ustawianie funkcji zwrotnej odbiornika w celu reagowania na zmiany w historii.google.script.url
umożliwia pobieranie parametrów adresu URL bieżącej strony i fragmentu adresu URL, jeśli są one obecne.
Te interfejsy API historii są dostępne tylko w przypadku aplikacji internetowych. Nie są obsługiwane w przypadku pasków bocznych, okien dialogowych ani dodatków. Nie zalecamy też używania tej funkcji w aplikacjach internetowych umieszczonych w Google Sites.