0

Так как 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

не используется при использовании с doGet. –

ответ

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

Спасибо. Изменения разрешений должны влиять только на подход цитируемого учебника –