Google chrome Google Sheets Web应用下载文件已停止工作
我们有一系列包含应用程序数据的Google表单,我们在每个表单后面都编写了脚本,以json格式输出数据(作为下载),然后使用。这是通过将每个脚本发布为web应用程序,然后从HTML对话框链接到URL来完成的。web应用程序的外观如下所示:Google chrome Google Sheets Web应用下载文件已停止工作,google-chrome,google-apps-script,google-sheets,google-spreadsheet-api,Google Chrome,Google Apps Script,Google Sheets,Google Spreadsheet Api,我们有一系列包含应用程序数据的Google表单,我们在每个表单后面都编写了脚本,以json格式输出数据(作为下载),然后使用。这是通过将每个脚本发布为web应用程序,然后从HTML对话框链接到URL来完成的。web应用程序的外观如下所示: function doGet() { var exportJSON = getExportJSON(); var output = ContentService.createTextOutput(exportJSON); output.
function doGet()
{
var exportJSON = getExportJSON();
var output = ContentService.createTextOutput(exportJSON);
output.downloadAsFile("filename.json");
return output;
}
function getExportJSON()
{
var exportArray = [];
fillInExportArray(exportArray);
return JSON.stringify(exportArray, null, 4);
}
这在一段时间内非常有效,但在周三(2017年4月5日),它突然停止工作。现在出现的是下载对话框,但在它用来放置文件名(在我的示例中是filename.json)的地方,现在有了“echo”(不带引号)一词。如果我选择了一个下载文件的位置,然后点击ok,下载就会出现在我的Chrome浏览器的下载栏中,但下面写着“失败-网络错误”
正如我所说,我们有许多使用相同模式的表单,但它们是完全独立的脚本和web应用程序。这个问题在某个时候出现在所有的表单上,没有改变,所以我假设这不是我们做的事情
更新:我忘了说,如果我进入脚本编辑器,选择发布->部署为web应用程序,然后单击“最新代码”链接,下载工作正常
更新2:我刚刚意识到,这个问题发生在我们办公室的一些人身上,而不是其他人身上。问题是,当我从Google工作表的HTML模式对话框激活指向webapp的链接时,导致出现以下错误: 拒绝展示https://...“在一个框架中,因为它设置了 “X-Frame-Options”到“SAMEORIGIN”
因此,我尝试了此线程中详细介绍的修复方法:,但没有成功,因此最后我只是在链接HTML中添加了
target=“\u blank”
,它会在新窗口中打开并正常工作。我只是在这里猜测,但我想知道它是否是您的脚本下游的内容,可能是您的网络中的内容。我这么说是因为echo是php中的一个输出命令。谢谢你的建议。我刚刚意识到这个问题只影响到办公室里的一些人,而不是其他人。我想这排除了网络的可能性?可能是这样的。然而,如果你有一个网络管理员,也许值得向他们询问。在你的建议之后,我与我们的网络管理员谈了一谈,他碰巧也是一位经验丰富的网络程序员,他很快就给了我答案。我已经把它贴在下面了-谢谢你的帮助。