Skip to content

Instantly share code, notes, and snippets.

@yoyo930021
Last active July 10, 2022 09:50
Show Gist options
  • Save yoyo930021/6d6e66ee765186d4bbbba6153e9e5e31 to your computer and use it in GitHub Desktop.
Save yoyo930021/6d6e66ee765186d4bbbba6153e9e5e31 to your computer and use it in GitHub Desktop.
COSCUP x KCD Taiwan 2022 Survey
const spreadSheet = SpreadsheetApp.openById(__SPREADSHEED_ID__);
const sheet = spreadSheet.getSheetByName(__SHEET_NAME__);
function saveRow (row) {
const lastRow = sheet.getLastRow();
delete row.captchaToken
delete row.nickname
delete row.email
delete row.token
sheet.getRange(lastRow+1, 1).setValue(new Date().toLocaleString());
sheet.getRange(lastRow+1, 2).setValue(JSON.stringify(row.is_subscribe_newsletter));
sheet.getRange(lastRow+1, 3).setValue(JSON.stringify(row.is_take));
sheet.getRange(lastRow+1, 4).setValue(JSON.stringify(row));
}
function getToken(data) {
// var url = __NEWSLETTER_API_URL__
// var options = {
// "method": "post",
// "payload": {
// 'h-captcha-response': data.captchaToken,
// name: data.nickname,
// main: data.email,
// onlytoken: !data.is_subscribe_newsletter ? true : undefined
// }
// }
// const res = UrlFetchApp.fetch(url, options)
// const result = JSON.parse(res.getContentText())
// return result.token
return Utilities.getUuid()
}
function doPost (e) {
const response = { success: false, token: '', error: '' }
try {
const requestData = JSON.parse(e.postData.contents)
const token = getToken(requestData)
saveRow({ ...requestData, token })
response.success = true
response.token = token
} catch (e) {
response.error = JSON.stringify(e.message)
} finally {
return ContentService
.createTextOutput(JSON.stringify(response))
.setMimeType(ContentService.MimeType.JSON)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment