【发布时间】:2017-04-07 13:27:32
【问题描述】:
我们有一系列包含应用程序数据的 Google 表格,我们在每个表格后面都编写了脚本,以 json 格式输出数据(作为下载),然后我们会使用这些数据。这是通过将每个脚本发布为 Web 应用程序,然后从 HTML 对话框链接到 URL 来完成的。 Web 应用程序如下所示:
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”(不带引号)。如果我选择下载文件的位置,然后单击“确定”,下载会出现在 Chrome 的下载栏中,但下方会显示“失败 - 网络错误”。
正如我所说,我们有许多使用相同模式的工作表,但它们是完全独立的脚本和 Web 应用程序。这个问题在某个时间出现在所有的工作表上,没有被改变,所以我假设这不是我们做过的事情。
更新:我忘了说,如果我进入脚本编辑器,然后选择发布 -> 部署为 Web 应用程序,然后单击“最新代码”链接,下载工作正常。
更新 2:我刚刚意识到这个问题发生在我们办公室中的一些人身上,而其他人则没有。
【问题讨论】:
-
我只是在这里猜测,但我想知道它是否在您的脚本下游,可能在您的网络中。我这么说是因为 echo 是 php 中的输出命令。
-
感谢您的建议。我刚刚意识到这个问题只会影响办公室里的一些人,而不会影响其他人。我猜这排除了网络?
-
大概就是这样。但是,如果您有网络管理员,可能值得向他们询问。
-
根据您的建议,我与网络管理员谈了话,他恰好也是一位经验丰富的网络程序员,他很快就让我得到了答案。我已经在下面发布了 - 感谢您的帮助。
标签: google-chrome google-apps-script google-sheets google-spreadsheet-api