Google Apps Script adalah platform pengembangan skrip yang didukung oleh Google untuk membuat aplikasi dan automatisasi tugas di Google Workspace. Ini memberikan cara mudah bagi pengguna untuk membuat aplikasi dan alat custom dalam Google Workspace tanpa menulis kode dari awal.
Salah satu fitur populer dari Google Apps Script adalah integrasinya dengan Google Sites, platform hosting situs web gratis yang disediakan oleh Google. Google Sites memungkinkan pengguna untuk membuat dan mempublikasikan situs web tanpa harus memiliki pengalaman pemrograman atau pengaturan hosting.
Dengan Google Apps Script, pengguna dapat menambahkan fungsionalitas tambahan ke situs web Google Sites mereka, seperti formulir yang dapat dikirimkan, alat pemantauan aktivitas, dan banyak lagi. Berikut adalah beberapa contoh praktis bagaimana Google Apps Script dapat digunakan untuk memperkuat situs web Google Sites:
- Formulir Kontak: Anda dapat membuat formulir kontak yang dapat dikirimkan dari situs web Anda. Formulir ini dapat dikonfigurasi untuk mengirimkan email ke alamat tertentu atau menyimpan data dalam sheet Google Sheets.
- Alat Pemantauan Aktivitas: Anda dapat membuat alat pemantauan aktivitas yang memantau aktivitas di situs web Anda, seperti jumlah pengunjung, halaman yang paling banyak dikunjungi, dan banyak lagi. Informasi ini dapat ditampilkan dalam bentuk grafik atau tabel di situs web Anda.
- Integrasi Google Calendar: Anda dapat menambahkan kalender Google ke situs web Anda dan memungkinkan pengguna untuk menambahkan acara ke kalender mereka dengan satu klik.
- Alat Analisis Traffic: Anda dapat membuat alat analisis traffic yang memantau dan menganalisis traffic situs web Anda. Alat ini dapat memberikan informasi seperti jumlah pengunjung unik, halaman yang paling banyak dikunjungi, dan banyak lagi.
Ini hanya beberapa contoh bagaimana Google Apps Script dapat digunakan untuk memperkuat situs web Google Sites. Dengan kombinasi antara Google Sites dan Google Apps Script, pengguna dapat membuat situs web yang memiliki fungsionalitas tambahan dan lebih kuat tanpa harus memiliki pengalaman pemrograman atau pengaturan hosting.
Berikut adalah beberapa contoh kode Google Apps Script untuk memperkuat situs web Google Sites:
Formulir Kontak
function doGet() { var template = HtmlService.createTemplateFromFile('Page'); template.message = 'Enter your message here'; return template.evaluate(); } function processForm(form) { var subject = "Contact form submitted"; var message = "Name: " + form.name + "\n\n" + "Email: " + form.email + "\n\n" + "Message: " + form.message; MailApp.sendEmail("recipient@example.com", subject, message); return true; }
Alat Pemantauan Aktivitas
function trackPageView() { var sheet = SpreadsheetApp.getActiveSheet(); var timestamp = new Date(); var url = String(window.location); var userAgent = String(window.navigator.userAgent); var data = [timestamp, url, userAgent]; sheet.appendRow(data); }
Integrasi Google Calendar
function trackPageView() { var sheet = SpreadsheetApp.getActiveSheet(); var timestamp = new Date(); var url = String(window.location); var data = [timestamp, url]; sheet.appendRow(data); } function generateTrafficReport() { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues(); var uniqueUrls = {}; for (var i = 0; i < data.length; i++) { var url = data[i][1]; if (!uniqueUrls[url]) { uniqueUrls[url] = 0; } uniqueUrls[url]++; } var reportData = []; for (var url in uniqueUrls) { reportData.push([url, uniqueUrls[url]]); } reportData.sort(function(a, b) { return b[1] - a[1]; }); var reportSheet = SpreadsheetApp.getActive().getSheetByName("Report"); if (!reportSheet) { reportSheet = SpreadsheetApp.getActive().insertSheet("Report"); } reportSheet.clearContents(); reportSheet.getRange(1, 1, reportData.length, reportData[0].length).setValues(reportData);
Otomatisasi Pembaruan Konten
function updateContent() { var doc = DocumentApp.getActiveDocument(); var body = doc.getBody(); var newContent = "This is updated content"; body.replaceText("Old content", newContent); }
Otomatisasi Pembuatan Halaman Baru
function createPage(pageTitle) { var site = SitesApp.getActiveSite(); var page = site.createWebPage(pageTitle, SitesApp.WebPageType.WEB_PAGE); var template = HtmlService.createTemplateFromFile('PageTemplate'); template.title = pageTitle; var html = template.evaluate().getContent(); page.setHtmlContent(html); }
Otomatisasi E-mail Reminder
function sendReminders() { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues(); var today = new Date(); for (var i = 0; i < data.length; i++) { var reminderDate = new Date(data[i][0]); if (reminderDate.toDateString() == today.toDateString()) { var recipient = data[i][1]; var subject = data[i][2]; var message = data[i][3]; MailApp.sendEmail(recipient, subject, message); } } }
Integrasi Google Drive
function uploadFile(file) { var folder = DriveApp.getFolderById("folderID"); folder.createFile(file); } function getFileList() { var folder = DriveApp.getFolderById("folderID"); var files = folder.getFiles(); var fileList = []; while (files.hasNext()) { var file = files.next(); fileList.push(file.getName()); } return fileList; }
Integrasi Google Sheets
function addData(data) { var sheet = SpreadsheetApp.getActiveSheet(); sheet.appendRow(data); } function getData() { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues(); return data; }
Otomatisasi Pengaturan Akses
function setPermissions(email, role) { var site = SitesApp.getActiveSite(); var user = getUserByEmail(email); site.addEditor(user); } function getUserByEmail(email) { var allUsers = SitesApp.getAllUsers(); while (allUsers.hasNext()) { var user = allUsers.next(); if (user.getEmail() == email) { return user; } } return null; }
Otomatisasi Pencarian Data
function searchData(query) { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues(); var result = []; for (var i = 0; i < data.length; i++) { if (data[i][0].toLowerCase().indexOf(query.toLowerCase()) != -1) { result.push(data[i]); } } return result; }