Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
function doGet(e) {
var now = new Date();
var sheet = getSheetOfDate(now);
var rawWeightFrom = e && e.parameter && e.parameter.raw_weight_from;
var rawWeightTo = e && e.parameter && e.parameter.raw_weight_to;
var etc = e && e.parameter && e.parameter.etc;
var response;
if (rawWeightTo) {
// https://stackoverflow.com/a/17637159
var avals = sheet.getRange("A1:A").getValues();
var nextRow = avals.filter(String).length + 1;
sheet.getRange(nextRow, 1).setValue(now);
sheet.getRange(nextRow, 2).setValue(rawWeightFrom);
sheet.getRange(nextRow, 3).setValue(rawWeightTo);
sheet.getRange(nextRow, 4).setValue(etc);
response = { status: 'success' };
} else {
response = { status: 'failed', message: 'Parameter raw_weight is missing' };
}
var output = ContentService.createTextOutput();
output.setMimeType(ContentService.MimeType.JSON);
output.setContent(JSON.stringify(response));
return output;
}
function getSheetOfDate(date) {
var ymd = getNowYMD(date);
var spreadsheet = SpreadsheetApp.getActive();
var sheets = spreadsheet.getSheets();
var sheet = null;
for (var i=0;i<sheets.length;i++) {
if (sheets[i].getName() == ymd) {
sheet = sheets[i];
break;
}
}
if (sheet == null) {
sheet = spreadsheet.insertSheet();
sheet.setName(ymd);
sheet.getRange(1, 1).setValue('timestamp');
sheet.getRange(1, 2).setValue('raw_weight_from');
sheet.getRange(1, 3).setValue('raw_weight_to');
sheet.getRange(1, 4).setValue('etc');
var columns = sheet.getMaxColumns();
if (columns > 10) {
sheet.deleteColumns(10, columns - 10)
}
}
return sheet;
}
function getNowYMD(date) {
var y = date.getFullYear();
var m = ("00" + (date.getMonth()+1)).slice(-2);
var d = ("00" + date.getDate()).slice(-2);
var result = y + "-" + m;
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.