dimanche 13 décembre 2020

Google Script if...else statement before function trigger

I am trying to create a filter on Google Script to pick up a passed parameter that matches the if statement but it doesn't seem to be working using the following script below:

function doPost (e) {  
var lock = LockService.getScriptLock()
lock.tryLock(10000)

var secret = e.parameter.secret
if(secret === '****-****-****-****'){
Logger.log('Success');

try {
var doc = SpreadsheetApp.openById(scriptProp.getProperty('key'))
var sheet = doc.getSheetByName(sheetName)

var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]
var nextRow = sheet.getLastRow() + 1

var newRow = headers.map(function(header) {
  return header === 'timestamp' ? new Date() : e.parameter[header]
})

sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow])

return ContentService
  .createTextOutput(JSON.stringify({ 'result': 'success', 'row': nextRow }))
  .setMimeType(ContentService.MimeType.JSON)
}

catch (e) {
return ContentService
  .createTextOutput(JSON.stringify({ 'result': 'error', 'error': e }))
  .setMimeType(ContentService.MimeType.JSON)
}

finally {
lock.releaseLock()
}
} else {
Logger.log('Failed');

return ContentService
    .createTextOutput(JSON.stringify({ 'error': 'secret key invalid or missing' }))
    .setMimeType(ContentService.MimeType.JSON);
}
}

Aucun commentaire:

Enregistrer un commentaire