Passo 2: Na primeira linha, coloque os cabeçalhos: date | ads | sales | profit
Passo 3: Vá em Extensões → Apps Script
Passo 4: Delete todo o código e cole este:
function doGet(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
if (e && e.parameter && e.parameter.action) {
var action = e.parameter.action;
if (action === 'save') {
var date = e.parameter.date;
var ads = parseFloat(e.parameter.ads) || 0;
var sales = parseInt(e.parameter.sales) || 0;
var profit = parseFloat(e.parameter.profit) || 0;
var rows = sheet.getDataRange().getValues();
var found = false;
for (var i = 1; i < rows.length; i++) {
if (formatDate(rows[i][0]) === date) {
sheet.getRange(i+1,1).setValue(date);
sheet.getRange(i+1,2).setValue(ads);
sheet.getRange(i+1,3).setValue(sales);
sheet.getRange(i+1,4).setValue(profit);
found = true;
break;
}
}
if (!found) sheet.appendRow([date, ads, sales, profit]);
return ContentService.createTextOutput('OK');
}
if (action === 'delete') {
var date = e.parameter.date;
var rows = sheet.getDataRange().getValues();
for (var i = 1; i < rows.length; i++) {
if (formatDate(rows[i][0]) === date) {
sheet.deleteRow(i+1);
break;
}
}
return ContentService.createTextOutput('OK');
}
}
var data = sheet.getDataRange().getValues();
var result = [];
for (var i = 1; i < data.length; i++) {
if (data[i][0]) {
result.push({
date: formatDate(data[i][0]),
ads: parseFloat(data[i][1]) || 0,
sales: parseInt(data[i][2]) || 0,
profit: parseFloat(data[i][3]) || 0
});
}
}
return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JSON);
}
function formatDate(value) {
if (!value) return '';
if (typeof value === 'string') return value.split('T')[0];
if (value instanceof Date) {
return value.getFullYear()+'-'+('0'+(value.getMonth()+1)).slice(-2)+'-'+('0'+value.getDate()).slice(-2);
}
return String(value);
}
Passo 5: Clique em Implantar → Nova implantação
Passo 6: Escolha "Aplicativo da Web"
Passo 7: Em "Quem tem acesso" selecione "Qualquer pessoa"
Passo 8: Copie a URL gerada e cole no campo do N1 Hub