Добрый день. Имеем таблицу Google, которая развёрнута как веб приложение. И есть функция getData, которая собирает данные из ячеек и возвращает их. За говнокод извините.
Код.jsfunction doGet() {
return HtmlService.createTemplateFromFile('Page').evaluate()
.setTitle('TEST')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function getData(a) {
var values = SpreadsheetApp.getActive().getSheets()[0].getRange('A:F').getValues();
var y = {}, i = 1 ;
for (i ; i in values; i++) {
y[values[i][0]] = {
data1 : values[i][1],
data2 : values[i][2],
data3 : values[i][3],
data4 : values[i][4],
data5 : values[i][5],
}
} return y[a];
}
Как вставить данные в создаваемый HTML Page ? Указанный метод не работает.
Page.html<!DOCTYPE html>
<html>
<head>
<title></title>
<?!= HtmlService.createHtmlOutputFromFile('JavaScript').getContent(); ?>
</head>
<body>
<div id="table"> <p id="MyId"> Надпись </p>
<p><button type="button" onclick="changeLink()">Изменить надпись</button></p>
</div>
</body>
</html>
JavaScript.html<script>
function changeLink() {
var v = google.script.run.getData('Значение первого столбца в ячейке таблицы').data1;
document.getElementById('MyId').innerHTML=v;
</script>