我正在使用谷歌应用程序脚本,我想阅读一些电子表格值,但它不起作用。
profile.account_creation_worker_id
答案 0 :(得分:0)
Google Apps脚本仅运行服务器端。将var sheet = SpreadsheetApp...
置于客户端JavaScript中是行不通的,因为执行JavaScript的浏览器不知道SpreadsheetApp是什么。您可以从网页上调用Apps脚本,但这需要工作。有两种情况。
对于Google Apps脚本HTML service投放的HTML页面,Google提供
Class google.script.run(客户端API)
google.script.run是HTML服务页面中可用的异步客户端JavaScript API,可以调用服务器端的Apps脚本功能。
HTML页面可以是
<html>
<head>
<script>
var data = google.script.run.accessSpreadsheet();
// do something to display data
</script>
</head>
<body>
</body>
</html>
上述客户端脚本调用您的Apps脚本功能,如下所示:
function accessSpreadsheet() {
var sheet = SpreadsheetApp....
// open sheet, get data
return data
}
您可以尝试将Apps脚本部署为提供数据的Web应用程序,并让您的客户端脚本向Web应用程序发送XHR请求,将数据作为JSONP获取。见this answer。
答案 1 :(得分:0)
或者,如果需要,有一种方法可以在不使用GAS的情况下从电子表格中获取数据。下面是一个使用jQuery并将表单作为JSON获取的示例。
var firstSheet = () => {
var spreadsheetID = "SPREADSHEET_ID";
var url = "https://spreadsheets.google.com/feeds/list/" + spreadsheetID +"/1/public/values?alt=json";
return new Promise((resolve,reject)=>{
$.getJSON(url, (data)=>{
let result = data.feed.entry
resolve(result)
});
})
}
firstSheet().then(data => {
console.log(data)
})
为此,您需要“发布”工作表。 File =&gt;发布到网络... =&gt;发布。此外,还需要将工作表设置为链接可以查看的任何人。