Aplikacje internetowe

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Jeśli tworzysz interfejs użytkownika dla skryptu, możesz opublikować ten skrypt jako aplikację internetową. Na przykład skrypt, który pozwala użytkownikom planować spotkania z członkami zespołu pomocy, powinien być prezentowany jako aplikacja internetowa, by użytkownicy mogli uzyskiwać do nich dostęp bezpośrednio w przeglądarce.

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

Pola
e.queryString

Wartość ciągu zapytania z adresu URL lub null, jeśli nie określono żadnego ciągu zapytania.

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

Obiekt pary 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 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 to hello.

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

Długość treści żą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 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ć takie parametry jak username i age do adresu URL, jak pokazano poniżej:

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

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

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

W przykładzie powyżej doGet(e) zwraca 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”."
  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óż > testowanie wdrożeń.
  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 swoją 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 służy tylko do testowania podczas programowania.

Uprawnienia

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

  • Uruchom aplikację jako ja – w tym przypadku skrypt jest zawsze uruchamiany 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 działa 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

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ą, należy ją najpierw wdrożyć. Musisz też podać Wdrożony adres URL w oknie Deploy.

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

  1. Otwórz stronę Witryny, na której chcesz dodać aplikację internetową.
  2. Wybierz Wstaw > Umieść URL.
  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 muszą najpierw autoryzować ją. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi prośbę o autoryzację.

Umieszczanie aplikacji internetowej w klasycznej wersji Witryn

Możesz powiązać skrypt z klasyczną wersją Witryn Google tak samo jak skrypt z dokumentem lub arkuszem Google. Aby utworzyć powiązany skrypt, otwórz swoją witrynę, kliknij ikonę koła zębatego Ustawienia, a następnie wybierz Zarządzaj witryną. Na stronie zarządzania witryną kliknij Apps Script (Skrypty aplikacji) w panelu nawigacyjnym po lewej stronie, a potem wybierz Dodaj nowy skrypt. Spowoduje to otwarcie nowego skryptu w edytorze Apps Script, w którym możesz kodować i wdrażać aplikację internetową.

Możesz też umieścić aplikację na stronie. Możesz powiązać aplikację internetową z witryną lub użyć dowolnej aplikacji internetowej, której URL dotyczy. 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ą.
  2. Przejdź na stronę w witrynie, na której chcesz umieścić aplikację internetową.
  3. Kliknij ikonę edycji, a następnie Wstaw > Google Apps Script.
  4. Wybierz skrypt z listy odpowiadającej aplikacji internetowej. Jeśli nie jest ona powiązana z tą witryną, możesz wkleić jej adres URL.
  5. Kliknij przycisk Wybierz, wybierz odpowiednie opcje z następnego okna, a potem kliknij Zapisz.
  6. Zapisz zmiany na stronie, a aplikacja internetowa powinna być umieszczona na stronie Witryny.

Aplikacje internetowe i historia przeglądarki

Wstrzyknięciem aplikacji internetowej Apps Script może być aplikacja wielostronicowa lub interfejs z dynamicznym interfejsem kontrolowanym przez parametry adresu URL. Aby to zrobić, możesz zdefiniować obiekt w celu reprezentowania interfejsu lub strony aplikacji i przekazywać go 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ę po przyciskach przeglądarki. Twórz zapytania dotyczące parametrów adresu URL w czasie wczytywania, aby umożliwić aplikacji dynamiczne tworzenie interfejsu w oparciu o te parametry, co pozwoli użytkownikowi na uruchomienie aplikacji 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 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 detektora w celu reagowania na zmiany historii.

  • google.script.url umożliwia pobranie bieżących parametrów adresu URL i fragmentu adresu URL (jeśli jest dostępny).

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