从 doGet() 内部的 Google 电子表格中提取数据
Pulling data from a Google spreadsheet from inside doGet()
因为 SpreadsheetApp.openById("sheetid") 已弃用或不再有效 https://code.google.com/p/google-apps-script-issues/issues/detail?id=5174. What is alternative method to get pull a spreadsheet data into a doGet() method. I have been trying to follow this tutorial https://www.youtube.com/watch?v=3deomYqHKgA
您也可以使用 JavaScript onload 函数来代替检索电子表格数据。
像这样尝试 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
因为 SpreadsheetApp.openById("sheetid") 已弃用或不再有效 https://code.google.com/p/google-apps-script-issues/issues/detail?id=5174. What is alternative method to get pull a spreadsheet data into a doGet() method. I have been trying to follow this tutorial https://www.youtube.com/watch?v=3deomYqHKgA
您也可以使用 JavaScript onload 函数来代替检索电子表格数据。 像这样尝试 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