最重要的是,我想从 Google 网站上的 Google 工作表中读取/显示一个值(而不是其他值)。这是使用通用的 Google 帐户。 我所做的准备就是我有一张单子,完全对任何人开放。该工作表发布在网络上(文件/共享),该工作表的脚本为:
function doGet() {
var sheet = SpreadsheetApp.openById('1qegJvvMUTR8B_CYNB9bnG2Ht20RPjXQ8uiK0pOiI4mU').getActiveSheet();
var value = sheet.getRange('A1').getValue();
return ContentService.createTextOutput(value);
}
该脚本部署为 Web 应用程序,具有以下配置:
网址为:https://script.google.com/macros/s/AKfycbxHtjx31MHklzaRBXMIBUc21XWxrf4NmIQLeQ0KE1DgPg2-_3ub56Joyh0ZEbBgcB9i/exec - 在浏览器中运行良好。
问题是,当我尝试将 URL 嵌入 Google 网站时,我收到一条无法访问的消息。 这两个文件(工作表和网站)都可以在此驱动器文件夹中看到:https://drive.google.com/drive/u/0/folders/1-0RR2J5WOehQ4axaBdyJsTs7djPFTY7r
我愿意接受其他方式来显示单元格值。
测试脚本时,嵌入 Google 协作平台后似乎会出现错误
You need access
,无论所使用的帐户是 Google Workspace 还是常规 Google 帐户。
查看代码,错误原因是
return ContentService.createTextOutput(value);
的文档并未说明它需要额外的访问权限,因此我建议您提交
createTextOutput(content)
,让 Google 了解正在发生的异常行为。bug report
同时,您可以将其更改为:
return HtmlService.createHtmlOutput("<p>" + value + "</p>");
嵌入后,它应该给出类似这样的内容: