Aplikacje internetowe

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:

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 null, jeśli nie określono ciągu zapytania.

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 e.parameter, ale z tablicą wartości dla każdego klucza.

{"name": ["alice"], "n": ["1", "2"]}
e.pathInfo

Ścieżka adresu URL po znaku /exec lub /dev. Jeśli na przykład ścieżka URL kończy się na /exec/hello, informacje o ścieżce to hello.

e.contextPath Nie używane, zawsze pusty ciąg znaków.
e.contentLength

Długość treści żądania w przypadku żądań POST lub -1 w przypadku żądań GET.

332
e.postData.length

Taka sama jak w przypadku e.contentLength

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 usernameage 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:

  1. W prawym górnym rogu projektu skryptu kliknij Wdróż > Nowe wdrożenie.
  2. Obok pozycji „Wybierz typ” kliknij Włącz typy wdrożenia > Aplikacja internetowa.
  3. Wpisz informacje o aplikacji internetowej w polach w sekcji „Konfiguracja wdrożenia”.
  4. 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:

  1. W prawym górnym rogu projektu skryptu kliknij Wdróż > Testuj wdrożenia.
  2. Obok opcji „Wybierz typ” kliknij Włącz typy wdrożenia > Aplikacja internetowa.
  3. Pod adresem URL aplikacji internetowej kliknij Kopiuj.
  4. 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:

  1. Otwórz stronę Witryn, do której chcesz dodać aplikację internetową.
  2. Kliknij Wstaw > Umieść adres URL.
  3. 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.