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:
- File ini berisi fungsi
doGet(e)
ataudoPost(e)
. - Fungsi ini menampilkan layanan HTML
Objek
HtmlOutput
atau Layanan kontenTextOutput
.
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 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 {"name": ["alice"], "n": ["1", "2"]} |
e.pathInfo |
Jalur URL setelah |
e.contextPath |
Tidak digunakan, selalu string kosong. |
e.contentLength |
Panjang isi permintaan untuk permintaan POST, atau 332 |
e.postData.length |
Sama seperti 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:
- Di kanan atas project skrip, klik Deploy > Deployment baru.
- Di samping "Pilih jenis", klik Aktifkan jenis deployment > Aplikasi web.
- Masukkan informasi tentang aplikasi web Anda di kolom pada "Deployment konfigurasi".
- 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:
- Di kanan atas project skrip, klik Deploy > Uji coba deployment.
- Di samping "Pilih jenis", klik Aktifkan jenis deployment > Aplikasi web.
- Di bagian URL aplikasi web, klik Salin.
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:
- Buka halaman Sites tempat Anda ingin menambahkan aplikasi web.
- Pilih Sisipkan > URL sematan.
- 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 dapat 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.