Так как SpreadsheetApp.openById ("sheetid") - это то, что устарело или не работает https://code.google.com/p/google-apps-script-issues/issues/detail?id=5174. Что такое альтернативный метод, чтобы получить данные таблицы в метод doGet(). Я пытаюсь следовать этому руководству. https://www.youtube.com/watch?v=3deomYqHKgAВытягивание данных из электронной таблицы Google изнутри doGet()
0
A
ответ
0
Вы также можете использовать функцию onload JavaScript, чтобы вместо этого получать данные в виде таблиц. Попробуйте как этот index.html:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<script>
function onLoadFunction()
{
google.script.run.withSuccessHandler(onSuccessData).getData();
}
window.onload = onLoadFunction;
function onSuccessData(rawdata)
{
var div = document.getElementById('result');
div.innerHTML += '<BR>' + rawdata;
}
</script>
<div id="result"><b>result:</b><br></div>
</body>
</html>
и Code.gs:
var SHEET_ID = 'YOUR_SHEET_ID';
function getData() {
var sheet = SpreadsheetApp.openById(SHEET_ID);
var dataRange = sheet.getDataRange();
var values = dataRange.getValues();
return values;
}
function doGet() {
return HtmlService.createHtmlOutputFromFile('index')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
Функция работает и не упоминается устаревшим: https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#openbyidid
+0
Спасибо. Изменения разрешений должны влиять только на подход цитируемого учебника –
не используется при использовании с doGet. –