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.
Zarówno samodzielne skrypty, jak i skrypty powiązane z aplikacją Google Workspace mogą zostać przekształcone w aplikacje internetowe, o ile spełniają 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ługi dotyczącej 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 niej doPost(e)
. W obu przypadkach argument e
reprezentuje parametr zdarzenia, który może zawierać informacje o dowolnych parametrach żądania. Strukturę obiektu zdarzenia przedstawia tabela poniżej:
Pola | |
---|---|
e.queryString |
Wartość ciągu zapytania w adresie URL lub name=alice&n=1&n=2 |
e.parameter |
Obiekt z parami klucz-wartość odpowiadającymi 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 jak w hotelu 332 |
e.postData.type |
Typ MIME treści żądania POST text/csv |
e.postData.contents |
Treść zawartości żądania POST Alice,21 |
e.postData.name |
Zawsze wartość „postData” postData |
Możesz np. przekazywać takie parametry jak username
i age
do adresu URL 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 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ą:
- W prawym górnym rogu projektu skryptu kliknij Wdróż > Nowe wdrożenie.
- Obok pozycji „Wybierz typ” kliknij Włącz typy wdrożenia > Aplikacja internetowa.
- W polach w sekcji „Konfiguracja wdrożenia” podaj informacje o aplikacji internetowej.
- Kliknij Wdróż.
Adres URL aplikacji internetowej możesz udostępnić osobom, które mają korzystać z Twojej aplikacji, pod warunkiem że przyznasz im dostęp.
Testowanie wdrożenia aplikacji internetowej
Aby przetestować skrypt jako aplikację internetową:
- 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 mogą go otwierać tylko użytkownicy z uprawnieniami do edycji skryptu. Ta instancja aplikacji zawsze uruchamia ostatnio zapisany kod i służy tylko do testowania podczas tworzenia aplikacji.
Uprawnienia
Uprawnienia aplikacji internetowej różnią się w zależności od tego, jak chcesz ją uruchomić:
- Uruchom aplikację jako ja – w tym przypadku skrypt zawsze działa jako Ty, czyli właściciel skryptu, niezależnie od tego, kto korzysta z aplikacji internetowej.
- Uruchomienie aplikacji jako użytkownik korzystający z aplikacji internetowej – w tym przypadku skrypt jest uruchamiany pod 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 osadzić aplikację internetową w Witrynach Google, musisz ją najpierw wdrażać. Potrzebujesz też adresu URL wdrożonej aplikacji z okna Deploy
.
Aby osadzić aplikację internetową na stronie Witryny:
- Otwórz stronę Witryny, na której chcesz dodać aplikację internetową.
- Wybierz Wstaw > Umieść adres URL.
- Wklej adres URL aplikacji internetowej, a potem kliknij DODAJ.
Aplikacja internetowa pojawi się w ramce w podglądzie strony. Po opublikowaniu strony użytkownicy witryny mogą musieć autoryzować aplikację internetową, zanim będzie ona mogła normalnie działać. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi prośby o autoryzację.
Aplikacje internetowe i historia przeglądarki
Aplikacja internetowa Apps Script może symulować aplikację wielostronicową lub aplikację z interfejsem dynamicznym sterowanym za pomocą parametrów 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 zapytanie o parametry adresu URL w momencie wczytywania, możesz umożliwić aplikacji dynamiczne tworzenie interfejsu użytkownika 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 ułatwiają tworzenie aplikacji internetowych powiązanych z historią przeglądania:
google.script.history
udostępnia metody dynamicznego reagowania na zmiany w historii przeglądarki. Obejmuje to: przesyłanie stanów (prostych obiektów, które możesz zdefiniować) do historii przeglądarki, zastępowanie najwyższego stanu w steku historii i ustawianie funkcji wywołania zwrotnego listenera w odpowiedzi na zmiany historii.google.script.url
umożliwia pobieranie parametrów adresu URL bieżącej strony i fragmentu adresu URL, jeśli są dostępne.
Te interfejsy API historii są dostępne tylko w przypadku aplikacji internetowych. Nie są one obsługiwane na pasku bocznym, w oknach dialogowych ani w dodatkach. Ta funkcja nie jest też zalecana w aplikacjach internetowych umieszczonych w Witrynach Google.