Untitled
unknown
plain_text
2 years ago
2.5 kB
3
Indexable
var EMAIL_TEMPLATE_DOC_URL = 'https://docs.google.com/document/d/1phBzop4z1y7q6vnWinHlkwIbMeiqAeoRiqM2Zx2wBdU/edit?usp=sharing&resourcekey=0-Z1w_dapQbkfHjoqMzVGTng'; var EMAIL_SUBJECT = 'Bersiap Jadi PSDA'; /** * Installs a trigger on the Spreadsheet for when a Form response is submitted. */ function installTrigger() { ScriptApp.newTrigger('onFormSubmit') .forSpreadsheet(SpreadsheetApp.getActive()) .onFormSubmit() .create(); } /** * Sends a customized email for every response on a form. * * @param {Object} event - Form submit event */ function onFormSubmit(e) { var responses = e.namedValues; var timestamp = responses.Timestamp[0]; var email = responses['Email Address'][0].trim(); var name = responses.Name[0].trim(); var link = 'bit.ly/siapjadipsda' var status = ''; MailApp.sendEmail({ to: email, subject: EMAIL_SUBJECT, htmlBody: createEmailBody(name, link), }); status = 'Sent'; // Append the status on the spreadsheet to the responses' row. var sheet = SpreadsheetApp.getActiveSheet(); var row = sheet.getActiveRange().getRow(); var column = e.values.length + 1; sheet.getRange(row, column).setValue(status); Logger.log("status=" + status + "; responses=" + JSON.stringify(responses)); } /** * Creates email body * * @param {string} recipient - The recipient's email address. * @param {string} link - Link. * @return {string} - The email body as an HTML string. */ function createEmailBody(name, link) { // Make sure to update the emailTemplateDocId at the top. var docId = DocumentApp.openByUrl(EMAIL_TEMPLATE_DOC_URL).getId(); var emailBody = docToHtml(docId); emailBody = emailBody.replace(/{{NAME}}/g, name); emailBody = emailBody.replace(/{{TOPICS}}/g, link); return emailBody; } /** * Downloads a Google Doc as an HTML string. * * @param {string} docId - The ID of a Google Doc to fetch content from. * @return {string} The Google Doc rendered as an HTML string. */ function docToHtml(docId) { // Downloads a Google Doc as an HTML string. var url = "https://docs.google.com/feeds/download/documents/export/Export?id=" + docId + "&exportFormat=html"; var param = { method: "get", headers: {"Authorization": "Bearer " + ScriptApp.getOAuthToken()}, muteHttpExceptions: true, }; return UrlFetchApp.fetch(url, param).getContentText(); }
Editor is loading...