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 aplikacjami Google Workspace 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 HTTP GET, 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.