Aplikacje internetowe

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.

W aplikacje internetowe można przekształcić zarówno samodzielne skrypty, jak i skrypty powiązane z aplikacjami Google Workspace , o ile spełniają one poniższe wymagania.

Wymagania dotyczące aplikacji internetowych

Skrypt może zostać opublikowany jako aplikacja internetowa, jeśli spełnia te wymagania:

Parametry żądania

Gdy użytkownik korzysta z aplikacji 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. Struktura obiektu zdarzenia jest widoczna w tabeli poniżej:

Pola
e.queryString

Wartość części adresu URL będącej ciągiem 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 mających wiele wartości zwracana jest tylko pierwsza wartość.

{"name": "alice", "n": "1"}
e.parameters

Obiekt podobny do e.parameter, ale z tabelą wartości 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żywany, zawsze pusty.
e.contentLength

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

332
e.postData.length

Taka sama cena jak w usłudze e.contentLength

332
e.postData.type

Typ MIME treści żądania POST

text/csv
e.postData.contents

Tekst treści POST

Alice,21
e.postData.name

Zawsze wartość „postData”

postData

Na przykład do adresu URL można przekazać takie parametry jak username i age, jak w tym przykładzie:

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

Następnie możesz wyświetlić następujące parametry:

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óż.

Możesz udostępnić adres URL aplikacji internetowej osobom, które mają jej używać, pod warunkiem, że przyznasz im do niej 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 pozycji „Wybierz typ” kliknij Włącz typy wdrożeń > 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 otwierają go tylko użytkownicy z uprawnieniami do edycji skryptu. Ta instancja aplikacji zawsze uruchamia ostatnio zapisany kod i jest przeznaczona tylko do testowania w trakcie tworzenia aplikacji.

Uprawnienia

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

  • Uruchom aplikację jako ja – w tym przypadku skrypt zawsze działa jako Ty, czyli właściciel skryptu, niezależnie od tego, kto uzyskuje dostęp do aplikacji internetowej.
  • Uruchom aplikację, gdy użytkownik uzyskuje dostęp do aplikacji internetowej – w tym przypadku skrypt jest uruchamiany z tożsamością aktywnego użytkownika aplikacji internetowej. Dzięki temu uprawnieniu 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, trzeba ją najpierw wdrożyć. Będzie też potrzebny Wdrożony adres URL z okna Deploy.

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

  1. Otwórz stronę Witryn, 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 może być konieczne autoryzację aplikacji internetowej przez osoby przeglądające ją przed jej normalnym uruchomieniem. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi prośby o autoryzację.

Aplikacje internetowe i historia przeglądarki

Może być pożądane, aby aplikacja internetowa Apps Script symulowała aplikację wielostronicową lub aplikację z dynamicznym interfejsem sterowanym za pomocą parametrów adresu 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 zapytania o parametry adresu URL w czasie wczytywania, aplikacja może dynamicznie kompilować interfejs użytkownika na podstawie tych parametrów, co pozwala użytkownikowi 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 dynamicznego reagowania na zmiany w historii przeglądarki. Obejmuje to: przekazywanie stanów (proste obiekty, które można zdefiniować) do historii przeglądarki, zastępowanie najwyższego stanu w stosie historii oraz ustawienie funkcji wywołania zwrotnego detektora, która odpowiada na zmiany w historii.

  • google.script.url określa sposób pobrania parametrów adresu URL bieżącej strony i fragmentu adresu URL, jeśli występują.

Te interfejsy API historii są dostępne tylko dla aplikacji internetowych. Nie są one obsługiwane w przypadku pasków bocznych, okien dialogowych ani dodatków. Ta funkcja nie jest też zalecana w aplikacjach internetowych umieszczonych w Witrynach Google.