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 aplikacjami Google Workspace 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
HtmlOutputlub 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 jest używany, zawsze jest pustym ciągiem 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
/devi 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. To podejście do uprawnień 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 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.historyudostę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.urlumoż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.