Untitled
function doPost(e) { return handleResponse(e); } var SCRIPT_PROP = PropertiesService.getScriptProperties(); function handleResponse(e) { var lock = LockService.getPublicLock(); lock.waitLock(30000); try { var doc = SpreadsheetApp.openById(SCRIPT_PROP.getProperty("key")); // Parse dữ liệu từ e.postData var data = JSON.parse(e.postData.contents); // Lấy sheetName từ dữ liệu gửi lên, nếu không có thì mặc định là "Sheet1" var sheetName = data.sheetName || "Sheet1"; var sheet = doc.getSheetByName(sheetName); if (!sheet) { return ContentService .createTextOutput(JSON.stringify({ "result": "error", "error": "Sheet not found: " + sheetName })) .setMimeType(ContentService.MimeType.JSON); } var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]; var nextRow = sheet.getLastRow() + 1; var row = []; // Đọc giá trị từ headers và thêm vào row for (var i in headers) { var value = data[headers[i]] || ""; // Lấy giá trị tương ứng row.push(value); } // Ghi dữ liệu vào sheet sheet.getRange(nextRow, 1, 1, row.length).setValues([row]); return ContentService .createTextOutput(JSON.stringify({ "result": "success", "row": nextRow, "sheet": sheetName })) .setMimeType(ContentService.MimeType.JSON); } catch (e) { return ContentService .createTextOutput(JSON.stringify({ "result": "error", "error": e.message })) .setMimeType(ContentService.MimeType.JSON); } finally { lock.releaseLock(); } } function setup() { var doc = SpreadsheetApp.getActiveSpreadsheet(); SCRIPT_PROP.setProperty("key", doc.getId()); }
Leave a Comment