I'm trying to write a google script that will updates the sensor data google sheet.This part is ok.
And I try to add a function clearRange(), when the data updated to 100 rows and delete the first 100 rows and reupdate the data. Is there something that I'm missing here?
function doGet(e) {
Logger.log( JSON.stringify(e) );
var sheet_id = 'XXXXXXXXXXXXXXXXXXXXX'; // Spreadsheet ID
var sheet = SpreadsheetApp.openById(sheet_id).getActiveSheet();
var newRow = sheet.getLastRow() + 1;
var rowData = [];
var Curr_Date = new Date();
var result = 'Ok';
if (e.parameter == 'undefined') {
result = 'No Parameters';
}
else if(e.parameter != 'undefined'){
rowData[0] = Curr_Date; // Date in column A
var Curr_Time = Utilities.formatDate(Curr_Date, "GMT+8", 'HH:mm:ss');
rowData[1] = Curr_Time; // Time in column B
for (var param in e.parameter) {
Logger.log('In for loop, param=' + param);
var value = stripQuotes(e.parameter[param]);
Logger.log(param + ':' + e.parameter[param]);
switch (param) {
case 'temperature':
rowData[2] = value; // Temperature in column C
result = 'Temperature Written on column C';
break;
case 'humidity':
rowData[3] = value; // Humidity in column D
result += ' ,Humidity Written on column D';
break;
default:
result = "unsupported parameter";
}
}
Logger.log(JSON.stringify(rowData));
var newRange = sheet.getRange(newRow, 1, 1, rowData.length);
newRange.setValues([rowData]);
}
else if (newRow==100)
{
clearRange();
}
return ContentService.createTextOutput(result);
}
function stripQuotes( value ) {
return value.replace(/^["']|['"]$/g, "");
}
function clearRange() {
sheet.deleteRows(1,100);
}
Try this:
function doGet(e) {
var sheet_id = 'XXXXXXXXXXXXXXXXXXXXX'; // Spreadsheet ID
var sh = SpreadsheetApp.openById(sheet_id).getActiveSheet();
var newRow = sh.getLastRow() + 1;
var rowData = [];
var Curr_Date = new Date();
var result = 'Ok';
if (e.parameter == 'undefined') {
result = 'No Parameters';
}
else if (e.parameter != 'undefined') {
rowData[0] = Curr_Date; // Date in column A
var Curr_Time = Utilities.formatDate(Curr_Date, "GMT+8", 'HH:mm:ss');
rowData[1] = Curr_Time; // Time in column B
for (var param in e.parameter) {
var value = e.parameter[param].replace(/['"]+/g, '');
switch (param) {
case 'temperature':
rowData[2] = value; // Temperature in column C
result = 'Temperature Written on column C';
break;
case 'humidity':
rowData[3] = value; // Humidity in column D
result += ' ,Humidity Written on column D';
break;
default:
result = "unsupported parameter";
}
}
var newRange = sh.getRange(newRow, 1, 1, rowData.length);
newRange.setValues([rowData]);
}
else if (newRow == 100) {
sh.deleteRows(1, 100);
}
return ContentService.createTextOutput(result);
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.