我已经创建了一个网页(使用enter image description here,CSS和javascript)。我有一个存储数据的谷歌工作表。我想从谷歌工作表到这个网页的数据,并希望显示。如果谷歌工作表是公开的,我就能够完成这项任务。但是如果google表单是私有的,我不知道该怎么做。我也附加了一个图像,当我们试图从私有工作表中获取数据时,它会显示错误。
这是google脚本的一部分。
function doGet() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const ws = ss.getSheetByName("Sheet1");
const data = ws.getRange("A1").getDataRegion().getValues();
const headers = data.shift();
const jsonArray = data.map(r => {
let obj = {};
headers.forEach((h, i) => {
obj[h] = r[i];
})
return obj;
});
const response = [{status: 200, data: jsonArray}];
return sendJSON(response);
}
这是一个javascript部分。
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button id="button">Fetch</button>
<script>
async function testGS() {
const url="https://script.google.com/macros/s/AKfycbzn5SQrQDY6gIPfVrsYI4Vy4nPf9O_7Omr_-ehgBv0SabSYSGrbzGGpJZRD7iAkTxfF/exec"
await fetch(url)
.then(d => d.json())
.then(d => {
console.log(d);
});
}
document.getElementById("button").addEventListener("click",
function() {
testGS();
});
</script>
</body>
</html>
发布于 2021-05-12 10:31:23
读完你的问题和评论后,我了解到你开发了一个从工作表中获取数据的web应用程序。任何人都可以运行web-app,并且它可以像访问web-app的用户一样访问数据。此外,该工作表由不同的用户拥有,以保持其私密性。在这种情况下,您无法使用web应用程序访问工作表,因为工作表是私有的。我强烈建议您通过以下方式之一要求工作表所有者更改其状态:
如果您在配置其中一个变通方法时需要帮助,请在此答案中回复。
https://stackoverflow.com/questions/67481162
复制相似问题