Aplikasi Web

Jika Anda membangun antarmuka pengguna untuk suatu skrip, Anda dapat memublikasikan skrip tersebut sebagai aplikasi web Anda. Misalnya, skrip yang memungkinkan pengguna menjadwalkan janji temu dengan anggota tim dukungan sebaiknya disajikan sebagai aplikasi web sehingga pengguna dapat mengaksesnya langsung dari {i>browser<i} mereka.

skrip mandiri dan skrip yang terikat ke Google Workspace aplikasi dapat diubah menjadi aplikasi web Anda, asalkan memenuhi persyaratan di bawah ini.

Persyaratan untuk aplikasi web

Skrip dapat dipublikasikan sebagai aplikasi web jika memenuhi persyaratan berikut:

Parameter permintaan

Saat pengguna mengunjungi aplikasi atau program mengirimkan permintaan GET HTTP ke aplikasi, Apps Script menjalankan fungsi doGet(e). Saat sebuah program mengirimkan permintaan HTTP ke aplikasi POST, Apps Script akan menjalankan doPost(e). Dalam kedua kasus tersebut, e mewakili parameter peristiwa yang dapat berisi informasi tentang parameter permintaan. Struktur objek peristiwa ditampilkan dalam tabel di bawah ini:

Kolom
e.queryString

Nilai dari bagian string kueri URL, atau null jika tidak ada string kueri yang ditentukan

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

Objek pasangan kunci/nilai yang sesuai dengan parameter permintaan. Hanya nilai pertama yang ditampilkan untuk parameter yang memiliki beberapa nilai.

{"name": "alice", "n": "1"}
e.parameters

Objek yang mirip dengan e.parameter, tetapi dengan array nilai untuk setiap kunci

{"name": ["alice"], "n": ["1", "2"]}
e.pathInfo

Jalur URL setelah /exec atau /dev. Misalnya, jika jalur URL berakhir dengan /exec/hello, info jalurnya adalah hello.

e.contextPath Tidak digunakan, selalu string kosong.
e.contentLength

Panjang isi permintaan untuk permintaan POST, atau -1 untuk permintaan GET

332
e.postData.length

Sama seperti e.contentLength

332
e.postData.type

Jenis MIME isi POST

text/csv
e.postData.contents

Teks konten isi POST

Alice,21
e.postData.name

Selalu nilai "postData"

postData

Misalnya, Anda dapat meneruskan parameter seperti username dan age ke URL seperti yang ditunjukkan di bawah ini:

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

Kemudian, Anda dapat menampilkan parameter seperti berikut:

function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}

Dalam contoh di atas, doGet(e) menampilkan output berikut:

{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}

Men-deploy skrip sebagai aplikasi web

Untuk men-deploy skrip sebagai aplikasi web, ikuti langkah-langkah berikut:

  1. Di kanan atas project skrip, klik Deploy > Deployment baru.
  2. Di samping "Pilih jenis", klik Aktifkan jenis deployment > Aplikasi web.
  3. Masukkan informasi tentang aplikasi web Anda di kolom pada "Deployment konfigurasi".
  4. Klik Deploy.

Anda dapat membagikan URL aplikasi web kepada orang yang Anda inginkan untuk menggunakan aplikasi Anda, asalkan Anda telah memberi mereka akses.

Menguji deployment aplikasi web

Untuk menguji skrip Anda sebagai aplikasi web, ikuti langkah-langkah di bawah:

  1. Di kanan atas project skrip, klik Deploy > Uji coba deployment.
  2. Di samping "Pilih jenis", klik Aktifkan jenis deployment > Aplikasi web.
  3. Di bagian URL aplikasi web, klik Salin.
  4. Tempel URL di browser dan uji aplikasi web Anda.

    URL ini berakhiran /dev dan hanya dapat diakses oleh pengguna yang memiliki akses edit pada skrip. Instance aplikasi ini selalu menjalankan instance terbaru yang disimpan dan hanya ditujukan untuk pengujian selama pengembangan.

Izin

Izin untuk aplikasi web berbeda-beda bergantung pada cara yang Anda pilih untuk mengeksekusinya aplikasi:

  • Jalankan aplikasi sebagai saya—Dalam hal ini, skrip selalu dijalankan sebagai Anda, sebagai pemilik skrip, siapa pun yang mengakses aplikasi web.
  • Jalankan aplikasi saat pengguna mengakses aplikasi web—Dalam hal ini, skrip berjalan dengan identitas pengguna aktif menggunakan aplikasi web. Izin ini menyebabkan aplikasi web menampilkan email pemilik skrip ketika pengguna mengizinkan akses.

Menyematkan aplikasi web Anda di Google Sites

Untuk menyematkan apl web di Google Sites, apl web harus terlebih dahulu di-deploy. Anda juga memerlukan Deployed URL dari dialog Deploy.

Untuk menyematkan aplikasi web ke Sites ikuti langkah-langkah berikut:

  1. Buka halaman Sites tempat Anda ingin menambahkan aplikasi web.
  2. Pilih Sisipkan > URL sematan.
  3. Tempel URL aplikasi web, lalu klik ADD.

Aplikasi web akan muncul dalam bingkai di pratinjau halaman. Kapan Anda memublikasikan halaman, pengakses situs Anda mungkin perlu mengizinkan aplikasi web terlebih dahulu berjalan seperti biasa. Aplikasi web yang tidak sah menampilkan permintaan otorisasi pengguna.

Aplikasi Web dan Histori Browser

Anda dapat membuat aplikasi web Apps Script yang menyimulasikan multi-halaman atau dengan UI dinamis yang dikontrol melalui parameter URL. Agar bisa melakukannya dengan baik, Anda bisa mendefinisikan objek status untuk merepresentasikan metode UI atau halaman, dan mengirim status ke histori browser sebagai saat pengguna membuka aplikasi Anda. Anda juga bisa memproses peristiwa histori sehingga web Anda menampilkan UI yang benar saat pengguna menavigasi bolak-balik dengan tombol browser. Dengan mengajukan kueri parameter URL pada saat pemuatan, Anda dapat meminta secara dinamis membangun UI-nya berdasarkan parameter tersebut, sehingga pengguna dapat memulai aplikasi dalam keadaan tertentu.

Apps Script menyediakan dua API JavaScript sisi klien asinkron untuk membantu membuat aplikasi web yang ditautkan ke riwayat browser:

  • google.script.history menyediakan metode untuk memungkinkan respons dinamis terhadap perubahan histori browser. Ini termasuk: mendorong status (Objek sederhana yang dapat Anda tentukan) ke browser histori, mengganti status teratas dalam tumpukan histori, dan menyetel pemroses untuk merespons perubahan histori.

  • google.script.url menyediakan cara untuk mengambil fragmen URL dan parameter URL halaman saat ini, jika mereka ada.

API histori ini hanya tersedia untuk aplikasi web. Tidak didukung untuk sidebar, dialog, atau add-on. Fungsi ini juga tidak direkomendasikan untuk digunakan aplikasi web yang disematkan di Google Sites.