Seperti yang dikatakan mas
Taufik Nurrohman, bahwa sbenarnya
Google Doc bukan merupakan layanan semacam ini, namun dengan memanfaatkan fiturnya Formulir Kontak Google Doc kita bisa membuat form kontak untuk blogger.
Sebenarnya cara kerja dari sistim ini ialah mengirimkan data dari tabel spreadsheet yang masuk dari Formulir Kontak Google Doc ke Email kita.
Dan hal ini juga menjadi salah satu solusi bagi para pengguna Blogspot yang telah menyembunyikan JS Bloggernya namun ingin menggunakan fitur Kontak Form, karena seperti yang kita ketahui, apabila JS bawaan blogspot kita sembunyikan maka beberapa fiturnya tidak dapat bekerja lagi,
Okelah kembali ke topik, kali ini saya akan memberikan panduan lengkap membuat Kontak Form ini dari awal sampai akhir,
Langkah pertama, anda harus membuat formulir kontak menggunakan Google Doc.
Silahkan menuju halaman dasboard
Google Drive anda, dan buatlah sebuah formulir
Silahkan setting judul dan deskripsi formulir, serta buatlah beberapa kotak pertanyaan yang umum terdapat pada formulir kontak di web. Contohnya anda bisa menggunakan ini:
Perihal,
Nama,
Email,
Alamat Web dan
Pesan, untuk menambahkan kotak pertanyaan, klik
Tambahkan Item dan set Jenis Pertanyaannya menjadi
Teks:
Pada bagian Laman Konfirmasi, tuliskan pesan terima kasih yang ingin Anda tampilkan ketika pesan telah berhasil terkirim:
Sekarang, pilih menu tab
Tanggapan dan pilih lagi
Pilih Tujuan Tanggapan lalu cek opsi
Spreasheet baru. Berikan judul, misalnya Data1 Tanggapan, dan uncek
Selalu buat spreadsheet baru:
Klik tombol
Buat. dan tunggu sampai tombol
Lihat Tanggapan muncul. tombol
Lihat Tanggapan akan muncul untuk menggantikan tombol
Pilih Tujuan Tanggapan. Klik tombol tersebut untuk melihat
spreadsheet formulir kontak Anda.
Mengelola Data yang Masuk
Setelah
spreadsheet selesai dibuat, sekarang adalah saatnya untuk mengelola data yang masuk agar setiap kali data baru terkirim ke dokumen, maka salinan data tersebut bisa langsung masuk ke kotak pesan email.
Pada Halaman
Data1 Tanggapan yang anda buat pada langkah pertama, Pilih menu Alat » Editor skrip:
Anda akan dibawa menuju halaman
proyek tak berjudul. Pada formulir bernama
Kode.gs
tempelkan JavaScript ini:
function sendFormByEmail(e) {
// Tentukan teks subjek/perihal yang nantinya akan muncul pada pesan masuk email setiap kali pesan baru terkirim
var emailSubject = "PESAN BARU!";
// Tentukan alamat email di sini atau beberapa alamat email sekaligus yang dipisahkan dengan tanda koma
var yourEmail = "email@domain.com";
// Masukkan kunci spreadsheet yang terhubung dengan formulir kontak ini
// Bisa ditemukan pada URL ketika Anda melihat spreadsheet tersebut
var docKey = "1rSY38gC56-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
// Jika Anda menginginkan skrip ini mengirim data secara otomatis ke semua editor sheet, set nilainya menjadi `1`
// Jika Anda hanya ingin mengirimkan data ke `yourEmail`, set nilainya menjadi `0`
var useEditors = 1;
// Apakah Anda telah menambahkan kolom yang ternyata tidak Anda gunakan pada formulir?
// Jika ya, set nilai ini ke nomor urut kolom terakhir yang Anda tambahkan pada spreadsheet.
// Sebagai contoh: Kolom `C` ada pada nomor urut ke 3
var extraColumns = 0;
if (useEditors) {
var editors = DocsList.getFileById(docKey).getEditors();
var notify = (editors) ? editors.join(',') : yourEmail;
} else {
var notify = yourEmail;
}
// Variabel `e` memegang semua data di dalam array.
// Loop semua data di dalam array dan sisipkan nilainya ke pesan.
var s = SpreadsheetApp.getActive().getSheetByName("Data1");
if (extraColumns) {
var headers = s.getRange(1, 1, 1, extraColumns).getValues()[0];
} else {
var headers = s.getRange(1, 1, 1, s.getLastColumn()).getValues()[0];
var message = "";
}
for (var i in headers) {
message += headers[i] + ' = ' + e.values[i].toString() + '\n';
}
MailApp.sendEmail(notify, emailSubject, message);
}
Tentukan subjek email yang akan masuk ke kotak masuk pesan, alamat email anda dan kunci/ID
spreadsheet yang tadi Anda buat. ID
spreadsheet bisa Anda temukan pada URL spreadsheet terkait:
https://docs.google.com/spreadsheets/d/9wTZ19gC56-XXXXXXXXXXXXXXXXXX/edit#gid=3
Data1
adalah nama dari
spreadsheets yang anda buat tadi, untuk melihat nya ada dibawah di pojok kiri, apabila namanya bukan
Data1
, silahkan ubah nama nya menjadi
Data1
:
Sekarang pilih menu
Sumber Daya »
Pemicu proyek saat ini. Akan muncul kata “
No triggers set up. Click to add one now”. Klik pada tautan tersebut untuk menambahkan trigger. Pada kolom Events, pastikan opsi yang terpilih adalah
From spreadsheet dan
On form submit.
Klik pada tautan
opsi notification. Pada opsi ke dua di kotak dialog
Execution failure notifications, pilih
immediately.
Klik OK.
Akan muncul pesan authorisasi skrip. Klik tombol
Terima/Authorize. Ini akan menyetujui authorisasi untuk trigger yang Anda buat.
Anda akan dibawa kembali menuju layar editor. Klik Simpan/Save. Sekarang Anda sudah bisa mencoba mengirimkan pesan melalui formulir kontak buatan Anda. Pembuatan formulir kontak ini sudah selesai, untuk mencobanya bisa dilakukan dengan klik menu
Lihat bentuk jadi .
Tidak Mengirimkan pesan apabila Email terdeteksi sebagai Spam
Karena formulir kontak Google Doc ini tidak memiliki captcha maka seringkali Anda akan mendapatkan pesan-pesan spam atau pesan yang aneh-aneh. Berikut ini adalah sebuah cara untuk membuat agar pesan spam tidak akan dikirimkan ke email Anda:
function sendFormByEmail(e) {
// Tentukan teks subjek/perihal yang nantinya akan muncul pada pesan masuk email setiap kali pesan baru terkirim
var emailSubject = "PESAN BARU!";
// Tentukan alamat email di sini atau beberapa alamat email sekaligus yang dipisahkan dengan tanda koma
var yourEmail = "email@domain.com";
// Masukkan kunci spreadsheet yang terhubung dengan formulir kontak ini
// Bisa ditemukan pada URL ketika Anda melihat spreadsheet tersebut
var docKey = "0Ah0bOy8H_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
// Jika Anda menginginkan skrip ini mengirim data secara otomatis ke semua editor sheet, set nilainya menjadi `1`
// Jika Anda hanya ingin mengirimkan data ke `yourEmail`, set nilainya menjadi `0`
var useEditors = 1;
// Apakah Anda telah menambahkan kolom yang ternyata tidak Anda gunakan pada formulir?
// Jika ya, set nilai ini ke nomor urut kolom terakhir yang Anda tambahkan pada spreadsheet.
// Sebagai contoh: Kolom `C` ada pada nomor urut ke 3
var extraColumns = 0;
if (useEditors) {
var editors = DocsList.getFileById(docKey).getEditors();
var notify = (editors) ? editors.join(',') : yourEmail;
} else {
var notify = yourEmail;
}
// Cek pesan spam: `0` berarti tidak ada spam
var isSpam = 0;
// Isi dengan pola-pola spam yang ingin Anda blokir dalam format regular ekspresi
var spamKeywords = [
"bajingan",
"sex",
"www.nama_web_1.com",
"www.nama_web_2.com",
"cabe-cabean",
"spam"
];
// Variabel `e` memegang semua data di dalam array.
// Loop semua data di dalam array dan sisipkan nilainya ke pesan.
var s = SpreadsheetApp.getActive().getSheetByName("Data1");
if (extraColumns) {
var headers = s.getRange(1, 1, 1, extraColumns).getValues()[0];
} else {
var headers = s.getRange(1, 1, 1, s.getLastColumn()).getValues()[0];
var message = "";
}
for (var i in headers) {
message += headers[i] + ' = ' + e.values[i].toString() + '\n';
for (var j = 0, sk = spamKeywords.length; j < sk; ++j) {
// Jika data terdeteksi sebagai spam, tingkatkan nilai variabel `isSpam`
if (spamKeywords[j].test(e.values[i].toString())) isSpam++;
}
}
if (isSpam === 0) { // Kirimkan notifikasi jika nilai `isSpam` adalah `0`
MailApp.sendEmail(notify, emailSubject, message);
}
}
Anda bisa mengatur pola spam pada variabel
spamKeywords
sesuka hati dengan jumlah pola sebanyak yang Anda mau dalam bentuk regular ekspresi:
var spamKeywords = [
"bajingan",
"sex",
"www.nama_web_1.com",
"www.nama_web_2.com",
"cabe-cabean",
"spam"
];
Walaupun begitu, cara ini hanya bisa digunakan untuk mencegah terkirimnya ke pesan masuk email saja, dan tetap akan masuk pada data spreadsheet. Saya sarankan Anda untuk secara rutin membuka sheet terkait formulir kontak ini minimal setiap satu bulan sekali untuk menghapus data-data yang tidak diperlukan. Karena Saya tidak bisa menjamin tentang apa yang akan terjadi pada data Google Doc Anda jika jumlah data yang masuk nanti sudah terlalu besar.
Sumber sebagian gambar dan bacaan :
www.dte.web.id/2013/09/membuat-formulir-kontak-google-doc-agar.html