Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const sheetName = 'htmlRes';
- const scriptProp = PropertiesService.getScriptProperties();
- function intialSetup() {
- const activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
- scriptProp.setProperty('key', activeSpreadsheet.getId());
- }
- function doPost(e) {
- const lock = LockService.getScriptLock();
- lock.tryLock(10000);
- try {
- Logger.log('Received POST request with parameters: ' + JSON.stringify(e.parameter));
- const doc = SpreadsheetApp.openById(scriptProp.getProperty('key'));
- Logger.log('Spreadsheet opened successfully: ' + scriptProp.getProperty('key'));
- const sheet = doc.getSheetByName(sheetName);
- if (!sheet) {
- throw new Error('Sheet not found: ' + sheetName);
- }
- Logger.log('Sheet found: ' + sheetName);
- const headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
- Logger.log('Headers retrieved: ' + JSON.stringify(headers));
- const nextRow = sheet.getLastRow() + 1;
- Logger.log('Next row to write: ' + nextRow);
- const newRow = headers.map(function(header) {
- return header === 'Date' ? new Date() : e.parameter[header];
- });
- Logger.log('New row data: ' + JSON.stringify(newRow));
- sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow]);
- Logger.log('Data written to sheet successfully.');
- // Send acknowledgment email to the user who signed up
- const userEmail = e.parameter.email; // Get the email address from the form data
- const subject = 'Hey! Welcome to X-Fit! 🎉';
- // Customize the email body
- const message = e.parameter.email_body;
- // const message = `
- // Hi ${e.parameter.name}!,
- // Thank you for joining the X-Fit Community!
- // Our story: I once drove 30 minutes in Bengaluru traffic to check out this "amazing gym" I found online. Guess what? It didn't even exist anymore! 😅
- // That's why we started X-Fit. We do all the gym-hunting work for you. Don't worry.
- // We have a standardized checklist created from feedback from users like yourself. Every gym listed on our platform is personally checked by X-Fit. No more wasted trips! ✅
- // We're adding more great gyms every week! Meanwhile, you'll get updates about fitness tips, awesome gyms near you, and special offers (all verified, promise!).
- // Thanks again for joining us!
- // To your health and fitness,
- // Aasim Hussain
- // CEO and Co-Founder, X-Fit
- // http://www.xfitclub.in/
- // P.S. Need help finding a gym nearby? Reply and let us know where – we'll do the legwork for you! 🔍
- // `;
- Logger.log('Attempting to send email to: ' + userEmail);
- if (userEmail) {
- MailApp.sendEmail( {
- to: userEmail,
- subject:subject,
- htmlBody : message });
- Logger.log('Acknowledgment email sent successfully.');
- } else {
- Logger.log('No email address provided.');
- }
- return ContentService
- .createTextOutput(JSON.stringify({ 'result': 'success', 'row': nextRow }))
- .setMimeType(ContentService.MimeType.JSON);
- } catch (e) {
- Logger.log('Error: ' + e.toString());
- return ContentService
- .createTextOutput(JSON.stringify({ 'result': 'error', 'error': e.toString() }))
- .setMimeType(ContentService.MimeType.JSON);
- } finally {
- lock.releaseLock();
- Logger.log('Lock released.');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement