Untitled
unknown
plain_text
3 years ago
2.5 kB
9
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...