Aplikacje internetowe

Jeśli utworzysz interfejs użytkownika skryptu, możesz opublikować go jako aplikację internetową. Na przykład skrypt umożliwiający użytkownikom planowanie spotkań z członkami zespołu pomocy będzie najlepiej prezentować w postaci aplikacji internetowej, aby użytkownicy mogli korzystać z niego 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ą one poniższe wymagania.

Wymagania dotyczące aplikacji internetowych

Skrypt można opublikować jako aplikację internetową, jeśli spełnia on 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 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 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 np. ś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 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 e.contentLength

332
e.postData.type

Typ MIME treści POST

text/csv
e.postData.contents

Treść treści 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:

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

Następnie możesz wyświetlić te parametry:

function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}

W tym przykładzie funkcja doGet(e) zwraca takie 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. W polach w sekcji „Konfiguracja wdrożenia” wpisz informacje o aplikacji internetowej.
  4. Kliknij Wdróż.

Adres URL aplikacji internetowej możesz udostępnić tym użytkownikom, którzy mają z niej korzystać, o ile 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żeń > Aplikacja internetowa.
  3. Pod adresem URL aplikacji internetowej kliknij Kopiuj.
  4. Wklej URL w przeglądarce i przetestuj swoją aplikację internetową.

    Ten adres URL kończy się na /dev i mają do niego dostęp tylko użytkownicy z uprawnieniami do edycji skryptu. Ta instancja zawsze uruchamia ostatnio zapisany kod i jest przeznaczona 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 wykonywany w takiej samej postaci jak 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 uruchamia się zgodnie z 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 umieścić aplikację internetową w Witrynach Google, musisz ją najpierw wdrożyć. Potrzebny jest też Wdrożony adres URL z okna Deploy.

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

  1. Otwórz stronę w Witrynach, 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. Po opublikowaniu strony użytkownicy witryny mogą wymagać autoryzacji aplikacji internetowej, aby mogła ona działać normalnie. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi prośbę o autoryzację.

Aplikacje internetowe i historia przeglądarki

Pożądane może być symulowanie aplikacji internetowej Apps Script lub aplikacji z dynamicznym interfejsem sterowanym za pomocą parametrów adresu URL. W tym celu możesz zdefiniować obiekt stanu reprezentujący interfejs lub stronę aplikacji i przekazać ten stan do historii przeglądania w trakcie poruszania się użytkownika po aplikacji. Możesz też nasłuchiwać zdarzeń z historii, aby aplikacja internetowa wyświetlała prawidłowy interfejs, gdy użytkownik porusza się w obie strony przy użyciu przycisków przeglądarki. Dzięki wysyłaniu zapytań dotyczących parametrów adresu URL w czasie wczytywania aplikacja może dynamicznie tworzyć na ich podstawie interfejs użytkownika. Dzięki temu użytkownik może uruchamiać aplikację w określonym stanie.

Apps Script udostępnia 2 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 wypychanie stanów (prostych obiektów, które można zdefiniować) do historii przeglądarki, zastępowanie najwyższego stanu w stosie historii oraz ustawienie funkcji wywołania zwrotnego na potrzeby reagowania na zmiany w historii.

  • Narzędzie google.script.url udostępnia sposoby pobierania parametrów adresu URL bieżącej strony i fragmentu adresu URL (jeśli są dostępne).

Te interfejsy API historii są dostępne tylko dla aplikacji internetowych. Nie są one obsługiwane w przypadku pasków bocznych, okien ani dodatków. Nie zalecamy też korzystania z tej funkcji w aplikacjach internetowych umieszczonych w Witrynach Google.