Aplikacje internetowe (original) (raw)

Jeśli tworzysz interfejs użytkownika dla skryptu, możesz go opublikować jako aplikację internetową. Na przykład skrypt, który pozwala użytkownikom planować spotkania z członkami zespołu pomocy, najlepiej prezentować 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 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, skrypt Apps Script uruchamia funkcję doGet(e). Gdy program wysyła do aplikacji żądanie HTTPPOST, skrypt Apps uruchamia się zamiast doPost(e). W obu przypadkach argument ereprezentuje 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 par klucz-wartość odpowiadających 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 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 URL kończy się na /exec/hello, informacja o ścieżce to hello.
e.contextPath Nieużywany, zawsze pusty ciąg.
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ść treści żądania POST Alice,21
e.postData.name Zawsze wartość „postData” postData

Możesz np. przekazywać takie parametry 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ś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ć:

Wstawianie 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. Kliknij Wstaw > Umieść 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 użytkownika dynamicznym, sterowanym za pomocą parametrów URL. Aby to zrobić, możesz zdefiniować obiekt stanu, który będzie reprezentować interfejs użytkownika lub stronę aplikacji, i przesyłać stan do historii przeglądarki, gdy użytkownik będzie się przemieszczać po aplikacji. Możesz też nasłuchiwać zdarzeń historii, aby Twoja aplikacja internetowa wyświetlała prawidłowy interfejs, gdy użytkownik będzie się przemieszczać między stronami 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.

Aby ułatwić tworzenie aplikacji internetowych powiązanych z historią przeglądania, Apps Script udostępnia 2 asynchroniczne interfejsy API JavaScript po stronie klienta:

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