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.

Zarówno samodzielne skrypty, jak i skrypty powiązane z aplikacją Google Workspace mogą zostać przekształcone 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 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. Strukturę obiektu zdarzenia przedstawia tabela poniżej:

Pola
e.queryString

Wartość ciągu zapytania w adresie URL lub null, jeśli ciąg zapytania nie jest określony

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

Obiekt z parami klucz-wartość odpowiadającymi 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 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ż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 jak w hotelu e.contentLength

332
e.postData.type

Typ MIME treści żądania POST

text/csv
e.postData.contents

Treść zawartości żądania POST

Alice,21
e.postData.name

Zawsze wartość „postData”

postData

Możesz np. przekazywać takie parametry jak usernameage do adresu URL 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 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ą:

  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. W polach w sekcji „Konfiguracja wdrożenia” podaj informacje o aplikacji internetowej.
  4. Kliknij Wdróż.

Adres URL aplikacji internetowej możesz udostępnić osobom, które mają korzystać z Twojej aplikacji, pod warunkiem że przyznasz im dostęp.

Testowanie wdrożenia aplikacji internetowej

Aby przetestować skrypt jako aplikację internetową:

  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 mogą go otwierać tylko użytkownicy z uprawnieniami do edycji skryptu. Ta instancja aplikacji zawsze uruchamia ostatnio zapisany kod i służy tylko do testowania podczas tworzenia aplikacji.

Uprawnienia

Uprawnienia aplikacji internetowej różnią się w zależności od tego, jak chcesz ją uruchomić:

  • Uruchom aplikację jako ja – w tym przypadku skrypt zawsze działa jako Ty, czyli właściciel skryptu, niezależnie od tego, kto korzysta z aplikacji internetowej.
  • Uruchomienie aplikacji jako użytkownik korzystający z aplikacji internetowej – w tym przypadku skrypt jest uruchamiany pod 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 osadzić aplikację internetową w Witrynach Google, musisz ją najpierw wdrażać. Potrzebujesz też adresu URL wdrożonej aplikacji z okna Deploy.

Aby osadzić aplikację internetową na stronie Witryny:

  1. Otwórz stronę Witryny, na której chcesz dodać aplikację internetową.
  2. Wybierz Wstaw > Umieść adres URL.
  3. Wklej adres URL aplikacji internetowej, a potem kliknij DODAJ.

Aplikacja internetowa pojawi się w ramce w podglądzie strony. Po opublikowaniu strony użytkownicy witryny mogą musieć autoryzować aplikację internetową, zanim będzie ona mogła normalnie działać. Nieautoryzowane aplikacje internetowe wyświetlają użytkownikowi prośby o autoryzację.

Aplikacje internetowe i historia przeglądarki

Aplikacja internetowa Apps Script może symulować aplikację wielostronicową lub aplikację z interfejsem dynamicznym sterowanym za pomocą parametrów 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 zapytanie o parametry adresu URL w momencie wczytywania, możesz umożliwić aplikacji dynamiczne tworzenie interfejsu użytkownika 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 ułatwiają tworzenie aplikacji internetowych powiązanych z historią przeglądania:

  • google.script.history udostępnia metody dynamicznego reagowania na zmiany w historii przeglądarki. Obejmuje to: przesyłanie stanów (prostych obiektów, które możesz zdefiniować) do historii przeglądarki, zastępowanie najwyższego stanu w steku historii i ustawianie funkcji wywołania zwrotnego listenera w odpowiedzi na zmiany historii.

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

Te interfejsy API historii są dostępne tylko w przypadku aplikacji internetowych. Nie są one obsługiwane na pasku bocznym, w oknach dialogowych ani w dodatkach. Ta funkcja nie jest też zalecana w aplikacjach internetowych umieszczonych w Witrynach Google.