Google Apps Script Template:
Copy Code
function doPost(e) {
var lock = LockService.getScriptLock();
lock.tryLock(10000);
try {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
if (sheet.getLastRow() === 0) {
sheet.appendRow(["Submission Timestamp", "Full Name", "Academic Email", "Institution", "Designation", "Phone Number", "Event URL", "Departure City", "Start Date", "End Date", "Participation Type", "Acceptance Status", "Paper Title", "Total Requested Amount", "Abstract Summary", "Academic Impact", "Financial Need"]);
}
var data = JSON.parse(e.postData.contents);
sheet.appendRow([data.timestamp || new Date(), data.fullName, data.email, data.institution, data.designation, data.phone, data.eventUrl, data.eventLocation, data.eventStartDate, data.eventEndDate, data.participationType, data.acceptanceStatus, data.paperTitle, data.totalRequested, data.abstractSummary, data.academicImpact, data.financialNeed]);
return ContentService.createTextOutput(JSON.stringify({result: "success"})).setMimeType(ContentService.MimeType.JSON);
} catch(err) {
return ContentService.createTextOutput(JSON.stringify({result: "error", error: err.toString()})).setMimeType(ContentService.MimeType.JSON);
} finally {
lock.releaseLock();
}
}