Aplikacje internetowe

Jeśli utworzysz interfejs użytkownika dla skryptu, możesz opublikować go jako aplikację internetową. Skrypt, który umożliwia użytkownikom planowanie spotkań z członkami zespołu pomocy, powinien być prezentowany jako aplikacja internetowa, by użytkownicy mogli uzyskiwać do niego dostęp bezpośrednio w przeglądarce.

Zarówno samodzielne skrypty, jak i skrypty powiązane Google Workspace z aplikacjami można zmieniać w aplikacje internetowe, o ile spełniają wymagania opisane poniżej.

Wymagania dotyczące aplikacji internetowych

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

Parametry żądania

Gdy użytkownik odwiedza aplikację lub program wysyła żądanie HTTP GET, Apps Script uruchamia funkcję doGet(e). Gdy program wysyła do aplikacji żądanie HTTP POST, zamiast tego Apps Script uruchamia polecenie doPost(e). W obu przypadkach argument e zawiera 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 z adresu URL lub null, jeśli nie określono ciągu zapytania

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

Obiekt par klucz/wartość, które odpowiadają parametrom żądania. W przypadku parametrów, które mają wiele wartości, wyświetlana 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 to hello.

e.contextPath Nieużywany (zawsze pusty ciąg znaków).
e.contentLength

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

332
e.postData.length

Taka sama jak 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 przekazywać parametry takie jak username i age do adresu URL w ten sposób:

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

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

function doGet(e) {
  var params = JSON.stringify(e);
  return HtmlService.createHtmlOutput(params);
}

W tym przykładzie doGet(e) zwraca następujące 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 swojej aplikacji internetowej w polach w sekcji „Konfiguracja wdrożenia”.
  4. Kliknij Wdróż.

Możesz udostępnić adres URL aplikacji internetowej tym, których chcesz używać, 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óż > Przetestuj 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 adres URL w przeglądarce i przetestuj aplikację internetową.

    Ten adres URL kończy się tekstem /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 do testów tylko w fazie programowania.

Uprawnienia

Uprawnienia aplikacji internetowej zależą od wybranego sposobu jej uruchomienia:

  • Uruchom aplikację jako ja – w takim przypadku skrypt będzie zawsze wykonywany jako Ty, niezależnie od tego, kto ma dostęp do aplikacji internetowej.
  • Uruchom aplikację jako użytkownik uzyskujący dostęp do aplikacji internetowej – w tym przypadku skrypt działa pod tożsamością aktywnego użytkownika korzystającego z aplikacji internetowej. To uprawnienie powoduje, że gdy użytkownik autoryzuje dostęp do aplikacji internetowej, wyświetlany jest adres e-mail właściciela skryptu.

Umieszczanie aplikacji internetowej w Witrynach Google

Możesz też umieszczać aplikacje internetowe w klasycznej i nowej wersji Witryn Google.

Umieszczanie aplikacji internetowej w nowej wersji Witryn

Aby umieścić aplikację internetową, najpierw musisz ją wdrożyć. Musisz też mieć wdrożony adres URL w oknie dialogowym Deploy.

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

  1. Otwórz stronę Witryny, do której chcesz dodać aplikację internetową.
  2. Wybierz Wstaw > URL do umieszczenia na stronie.
  3. Wklej adres URL aplikacji internetowej, a następnie kliknij DODAJ.

Aplikacja internetowa pojawi się w ramce w podglądzie strony. Po opublikowaniu strony użytkownicy witryny mogą potrzebować autoryzacji aplikacji internetowej, zanim zostanie ona normalnie uruchomiona. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi żądania autoryzacji.

Umieszczanie aplikacji internetowej w klasycznej wersji Witryn

Możesz powiązać skrypt z klasyczną wersją Witryn Google tak samo jak skrypt z plikiem Dokumentów lub Arkuszy Google. Aby utworzyć powiązany skrypt, wejdź na swoją stronę, kliknij ikonę koła zębatego Ustawienia i wybierz Zarządzaj witryną. Na stronie Zarządzanie witryną kliknij Apps Script (Skrypt aplikacji) w panelu nawigacyjnym po lewej stronie, a następnie przycisk Dodaj nowy skrypt. Spowoduje to otwarcie nowego skryptu w edytorze Apps Script, w którym możesz zakodować i wdrożyć aplikację internetową.

Możesz też umieścić aplikację internetową na stronie. Możesz powiązać aplikację internetową z witryną lub użyć dowolnej aplikacji internetowej, do której URL masz pod ręką. Aby umieścić aplikację internetową na stronie w Witrynach Google, wykonaj te czynności:

  1. Otwórz istniejącą witrynę, do której masz uprawnienia do edycji, lub utwórz nową witrynę.
  2. Przejdź na stronę w swojej witrynie, w której chcesz umieścić aplikację internetową.
  3. Kliknij ikonę edycji, a następnie kliknij Wstaw > Google Apps Script.
  4. Wybierz z listy skrypt, który reprezentuje Twoją aplikację internetową. Jeśli Twoja aplikacja internetowa nie jest powiązana z tą witryną, możesz wkleić adres URL aplikacji internetowej.
  5. Kliknij przycisk Wybierz, w oknie dialogowym wybierz odpowiednie opcje, a potem kliknij Zapisz.
  6. Zapisz zmiany na stronie. Gdy to zrobisz, Twoja aplikacja internetowa powinna być na niej widoczna.

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 sterowaną za pomocą parametrów adresu URL. Aby to zrobić, możesz zdefiniować obiekt stanu reprezentujący interfejs lub stronę aplikacji i przekazywać ten stan do historii przeglądania, 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 porusza się między przyciskami przeglądarki. Wykonując zapytania o parametry adresu URL podczas wczytywania, możesz skonfigurować aplikację tak, by dynamicznie optymalizowała interfejs użytkownika. Dzięki temu użytkownik będzie mógł uruchomić 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 dynamiczne reagowanie na zmiany w historii przeglądarki. Obejmuje to: przekazywanie stanów (proste obiekty, które możesz zdefiniować) do historii przeglądarki, zastępowanie najwyższego stanu w stosie historii oraz ustawianie funkcji wywołania zwrotnego reagowania na zmiany w historii.

  • google.script.url umożliwia pobranie parametrów adresu URL bieżącej strony i fragmentu adresu URL, jeśli są dostępne.

Te interfejsy API są dostępne tylko w aplikacjach internetowych. Nie są obsługiwane w przypadku pasków bocznych, okien ani dodatków. Tej funkcji nie zalecamy też w aplikacjach internetowych umieszczonych w Witrynach Google.