0 Kč
0 Kč
0 Kč
0 Kč
Nový Záznam
| Typ | Popis položky | Účet | Suma | Akce |
|---|
Zatím nebyly přidány žádné záznamy.
0 Kč
0%
---
Struktura výdajů
Makro Přehled (Cashflow)
AI Finanční Diagnostika
Deep Analysis by AI
Cloud API & Live Sync
Aplikace bude automaticky odesílat každou změnu na toto URL (Live Sync).
Návod k nastavení Google
Sheets
1. Otevřete novou Google Tabulku a klikněte na Rozšíření > Apps Script.
2. Vložte do editoru tento kód a uložte (ikona diskety):
function jsonOutput(obj) {
return ContentService.createTextOutput(JSON.stringify(obj)).setMimeType(ContentService.MimeType.JSON);
}
function getDataSheet() {
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
}
function doGet() {
var sheet = getDataSheet();
var data = sheet.getDataRange().getValues();
if (data.length < 2) return jsonOutput({ status: "success", data: [] });
var headers = data[0].map(String);
var res = [];
for (var i = 1; i < data.length; i++) {
if (data[i].join("") === "") continue;
var obj = {};
for (var j = 0; j < headers.length; j++) obj[headers[j]] = data[i][j];
res.push(obj);
}
return jsonOutput({ status: "success", data: res });
}
function doPost(e) {
var payload = JSON.parse(e.postData.contents || "[]");
var txs = Array.isArray(payload) ? payload : (payload.data || []);
if (!Array.isArray(txs)) return jsonOutput({ status: "error", message: "Neplatná data" });
var sheet = getDataSheet();
if (txs.length === 0 && sheet.getLastRow() > 1) {
return jsonOutput({ status: "skipped", message: "Prázdný zápis přeskočen kvůli ochraně existujících dat" });
}
var headers = ["id", "date", "pohyb", "info", "suma", "ucet", "saving", "isExcluded", "origSuma", "origMena"];
txs.forEach(function(t) {
Object.keys(t).forEach(function(k) {
if (headers.indexOf(k) === -1) headers.push(k);
});
});
sheet.clearContents();
sheet.getRange(1, 1, 1, headers.length).setValues([headers]);
if (txs.length > 0) {
var rows = txs.map(function(t) {
return headers.map(function(h) { return t[h] !== undefined ? t[h] : ""; });
});
sheet.getRange(2, 1, rows.length, headers.length).setValues(rows);
}
return jsonOutput({ status: "success", message: "OK" });
}
3. Vpravo nahoře klikněte na modré tlačítko Nasadit > Nové nasazení.
4. Vyberte typ Webová aplikace a přístup nastavte na Kdokoliv (Anyone). (Toto
je důležité, jinak API nebude veřejné).
5. Zkopírujte zobrazenou URL adresu a vložte ji do políčka výše.
1. Otevřete novou Google Tabulku a klikněte na Rozšíření > Apps Script.
2. Vložte do editoru tento kód a uložte (ikona diskety):
function jsonOutput(obj) {
return ContentService.createTextOutput(JSON.stringify(obj)).setMimeType(ContentService.MimeType.JSON);
}
function getDataSheet() {
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
}
function doGet() {
var sheet = getDataSheet();
var data = sheet.getDataRange().getValues();
if (data.length < 2) return jsonOutput({ status: "success", data: [] });
var headers = data[0].map(String);
var res = [];
for (var i = 1; i < data.length; i++) {
if (data[i].join("") === "") continue;
var obj = {};
for (var j = 0; j < headers.length; j++) obj[headers[j]] = data[i][j];
res.push(obj);
}
return jsonOutput({ status: "success", data: res });
}
function doPost(e) {
var payload = JSON.parse(e.postData.contents || "[]");
var txs = Array.isArray(payload) ? payload : (payload.data || []);
if (!Array.isArray(txs)) return jsonOutput({ status: "error", message: "Neplatná data" });
var sheet = getDataSheet();
if (txs.length === 0 && sheet.getLastRow() > 1) {
return jsonOutput({ status: "skipped", message: "Prázdný zápis přeskočen kvůli ochraně existujících dat" });
}
var headers = ["id", "date", "pohyb", "info", "suma", "ucet", "saving", "isExcluded", "origSuma", "origMena"];
txs.forEach(function(t) {
Object.keys(t).forEach(function(k) {
if (headers.indexOf(k) === -1) headers.push(k);
});
});
sheet.clearContents();
sheet.getRange(1, 1, 1, headers.length).setValues([headers]);
if (txs.length > 0) {
var rows = txs.map(function(t) {
return headers.map(function(h) { return t[h] !== undefined ? t[h] : ""; });
});
sheet.getRange(2, 1, rows.length, headers.length).setValues(rows);
}
return jsonOutput({ status: "success", message: "OK" });
}
3. Vpravo nahoře klikněte na modré tlačítko Nasadit > Nové nasazení.
4. Vyberte typ Webová aplikace a přístup nastavte na Kdokoliv (Anyone). (Toto je důležité, jinak API nebude veřejné).
5. Zkopírujte zobrazenou URL adresu a vložte ji do políčka výše.