Aplikacje internetowe

Jeśli utworzysz interfejs użytkownika do skryptu, możesz opublikować go jako aplikację internetową. Na przykład skrypt, który umożliwia użytkownikom planowanie spotkań z członkami zespołu pomocy, najlepiej prezentuje się jako aplikacja internetowa, aby użytkownicy mieli do niego dostęp bezpośrednio w przeglądarce.

Zarówno samodzielne skrypty, jak i skrypty powiązane z Google Workspace aplikacjami można przekształcić w aplikacje internetowe, o ile spełniają 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 HTTP GET, Apps Script uruchamia funkcję doGet(e). Gdy program wysyła do aplikacji żądanie HTTP POST, Apps Script uruchamia zamiast tego doPost(e). W obu przypadkach argument e podaje parametr zdarzenia, który może zawierać informacje o dowolnych parametrach żądania. Struktura obiektu zdarzenia jest przedstawiona w tabeli poniżej:

Pola
e.queryString

Wartość części ciągu zapytania w adresie URL lub null, jeśli nie określono ciągu zapytania.

name=alice&n=1&n=2
e.parameter

Obiekt par klucz/wartość odpowiadający parametrom żądania. W przypadku parametrów, które mają wiele wartości, zwracana jest tylko pierwsza wartość.

{"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 /exec lub /dev. Jeśli na przykład ścieżka adresu URL kończy się ciągiem /exec/hello, informacje o ścieżce mają postać hello.

e.contextPath Nieużywane, zawsze pusty ciąg.
e.contentLength

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

332
e.postData.length

Tyle samo co e.contentLength

332
e.postData.type

Typ MIME treści POST

text/csv
e.postData.contents

Tekst treści żądania POST

Alice,21
e.postData.name

Zawsze ma wartość „postData”

postData

Możesz na przykład przekazać do adresu URL parametry takie jak username i age, jak pokazano poniżej:

https://script.google.com/.../exec?username=jsmith&age=21

Następnie możesz wyświetlić parametry w następujący sposób:

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:

  1. W prawym górnym rogu projektu skryptu kliknij Wdróż > Nowe wdrożenie.
  2. Obok opcji „Wybierz typ” kliknij Włącz typy wdrożeń > 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ć użytkownikom, którzy mają mieć do niej dostęp, pod warunkiem, że przyznano im do nich 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żeń > Aplikacja internetowa.
  3. Pod adresem URL aplikacji internetowej kliknij Kopiuj.
  4. Wklej URL w przeglądarce i przetestuj swoją aplikację internetową.

    Adres URL kończy się na /dev i dostęp do niego mają tylko użytkownicy z uprawnieniami do edycji skryptu. Ta instancja aplikacji zawsze uruchamia ostatnio zapisany kod i jest przeznaczona tylko do testowania w trakcie programowania.

Uprawnienia

Uprawnienia aplikacji internetowej różnią się w zależności od wybranego sposobu jej uruchamiania:

  • Uruchom aplikację jako ja – w tym przypadku skrypt jest zawsze uruchamiany tak samo jak Ty jako właściciel skryptu, bez względu na to, kto korzysta z aplikacji internetowej.
  • Uruchom aplikację jako użytkownik uzyskujący dostęp do aplikacji internetowej – w tym przypadku skrypt jest uruchamiany pod tożsamością aktywnego użytkownika korzystającego z aplikacji internetowej. To uprawnienie 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 umieścić aplikację internetową w Witrynach Google, musisz ją najpierw wdrożyć. Potrzebny jest też Wdrożony URL z okna Deploy.

Aby umieścić aplikację internetową na stronie Witryn, wykonaj te czynności:

  1. Otwórz stronę Witryny, do której chcesz dodać aplikację internetową.
  2. Wybierz Wstaw > Umieść adres URL.
  3. Wklej adres URL aplikacji internetowej i kliknij DODAJ.

Aplikacja internetowa pojawi się w ramce na podglądzie strony. Gdy opublikujesz stronę, użytkownicy witryny będą musieli autoryzować aplikację internetową, zanim będzie ona działać prawidłowo. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi prośby o autoryzację.

Aplikacje internetowe i historia przeglądarki

Wskazane może być, aby aplikacja internetowa Apps Script symulowała aplikację wielostronicową lub aplikacja z dynamicznym interfejsem sterowana za pomocą parametrów adresu URL. W tym celu możesz zdefiniować obiekt stanu reprezentujący interfejs lub stronę aplikacji i przekazywać ten stan do historii przeglądarki, gdy użytkownik porusza się po aplikacji. Możesz też rejestrować zdarzenia z historii, aby aplikacja internetowa wyświetlała prawidłowy interfejs, gdy użytkownik porusza się przy użyciu przycisków przeglądarki. Dzięki wysyłaniu zapytań dotyczących parametrów adresu URL podczas wczytywania aplikacja może dynamicznie kompilować interfejs na podstawie tych parametrów, co pozwala użytkownikowi uruchamiać aplikację w określonym stanie.

Apps Script udostępnia dwa 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 umożliwiające dynamiczną reagowanie na zmiany w historii przeglądania. Obejmuje to przenoszenie stanów (prostych obiektów, które można zdefiniować) na historię przeglądarki, zastępowanie najwyższego stanu w stosie historii oraz ustawianie funkcji wywołania zwrotnego nasłuchiwania, która odpowiada na zmiany w historii.

  • Narzędzie google.script.url umożliwia pobieranie parametrów adresu URL bieżącej strony i fragmentu adresu URL (jeśli występują).

Interfejsy API historii są dostępne tylko dla aplikacji internetowych. Nie działają z paskami bocznymi, oknami ani dodatkami. Nie zalecamy też korzystania z tej funkcji w aplikacjach internetowych umieszczonych w Witrynach Google.