Aplikasi Web

Jika membuat antarmuka pengguna untuk skrip, Anda dapat memublikasikan skrip sebagai aplikasi web. Misalnya, skrip yang memungkinkan pengguna menjadwalkan janji temu dengan anggota tim dukungan sebaiknya ditampilkan sebagai aplikasi web sehingga pengguna dapat mengaksesnya langsung dari browser mereka.

Baik skrip mandiri maupun skrip yang terikat ke Google Workspace aplikasi dapat diubah menjadi aplikasi web selama memenuhi persyaratan di bawah ini.

Persyaratan untuk aplikasi web

Skrip dapat dipublikasikan sebagai aplikasi web jika memenuhi persyaratan berikut:

Parameter permintaan

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

Kolom
e.queryString

Nilai bagian string kueri dari 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 berupa 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 dari 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:

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);
}

Pada 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 bagian 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 "Konfigurasi deployment".
  4. Klik Deploy.

Anda dapat membagikan URL aplikasi web kepada orang yang ingin 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 > Test 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 ke skrip. Instance aplikasi ini selalu menjalankan kode yang terakhir disimpan dan hanya dimaksudkan untuk pengujian selama pengembangan.

Izin

Izin untuk aplikasi web berbeda-beda, bergantung pada cara Anda memilih untuk mengeksekusi aplikasi:

  • Jalankan aplikasi sebagai saya—Dalam hal ini, skrip selalu dijalankan sebagai Anda, sebagai pemilik skrip, siapa pun yang mengakses aplikasi web.
  • Jalankan aplikasi sebagai pengguna yang mengakses aplikasi web—Dalam hal ini, skrip dijalankan dengan identitas pengguna aktif yang menggunakan aplikasi web. Pendekatan izin ini menyebabkan aplikasi web menampilkan email pemilik skrip saat pengguna memberikan otorisasi akses.

Menyematkan aplikasi web Anda di Google Sites

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

Untuk menyematkan aplikasi web ke halaman Situs, ikuti langkah-langkah berikut:

  1. Buka halaman Situs tempat Anda ingin menambahkan aplikasi web.
  2. Pilih Sisipkan > URL Tersemat.
  3. Tempel URL aplikasi web, lalu klik TAMBAHKAN.

Aplikasi web muncul dalam bingkai di pratinjau halaman. Saat Anda memublikasikan halaman, pelihat situs mungkin perlu memberikan otorisasi kepada aplikasi web sebelum dijalankan secara normal. Aplikasi web yang tidak sah menampilkan permintaan otorisasi kepada pengguna.

Aplikasi Web dan Histori Browser

Sebaiknya Anda membuat aplikasi web Apps Script menyimulasikan aplikasi multihalaman, atau aplikasi dengan UI dinamis yang dikontrol melalui parameter URL. Agar dapat melakukannya dengan baik, Anda dapat menentukan objek status untuk mewakili UI atau halaman aplikasi, dan memasukkan status ke histori browser saat pengguna membuka aplikasi Anda. Anda juga dapat memproses peristiwa histori sehingga aplikasi web Anda menampilkan UI yang benar saat pengguna berpindah-pindah menggunakan tombol browser. Dengan membuat kueri parameter URL pada waktu pemuatan, Anda dapat meminta aplikasi mem-build UI secara dinamis berdasarkan parameter tersebut, sehingga pengguna dapat memulai aplikasi dalam status tertentu.

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

  • google.script.history menyediakan metode untuk memungkinkan respons dinamis terhadap perubahan histori browser. Hal ini mencakup: mendorong status (Objek sederhana yang dapat Anda tentukan) ke histori browser, mengganti status teratas dalam tumpukan histori, dan menetapkan fungsi callback pemroses untuk merespons perubahan histori.

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

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