我使用google apps脚本在电子表格中添加了一个新菜单项.此菜单项创建一个文件,但我希望它在创建后启动文件下载.
这可能吗?
请记住,这不是一个Web应用程序,而是我的电子表格中的菜单项.
谢谢
编辑:
感谢Serge insas的建议,以下简单的脚本工作正常,并打开一个下载窗口,其中包含我需要的链接:
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var csvMenuEntries = [ {name: "Zip all CSVs", functionName: "saveAsCSV"} ];
ss.addMenu("CSV", csvMenuEntries);
};
function saveAsCSV() {
var folder = createCSVs(); // creates a folder with CSV for each Sheet
var zipFile = zipCSVs(folder, "DI.zip"); // creates a zip of all CSVs in folder
var ui = UiApp.createApplication().setTitle("Download");
var p = ui.createVerticalPanel();
ui.add(p);
p.add(ui.createAnchor("Download", zipFile.getDownloadUrl()));
SpreadsheetApp.getActive().show(ui)
}
Run Code Online (Sandbox Code Playgroud) 我试图用contentService的,以服务JSONP与网页谷歌Apps脚本,按照所提供的样本此链接下的"在网页服务JSONP"子课题.
GS代码:
function doGet(request) {
var events = CalendarApp.getEvents(
new Date(Number(request.parameters.start) * 1000),
new Date(Number(request.parameters.end) * 1000));
var result = {
available: events.length == 0
};
return ContentService.createTextOutput(
request.parameters.prefix + '(' + JSON.stringify(result) + ')')
.setMimeType(ContentService.MimeType.JSON);
}
Run Code Online (Sandbox Code Playgroud)
HTML/JS代码:
<script src="https://script.google.com/macros/s/AKfycbwZCY0qrZ09szGvKOttA30IaJkdMAZrh_oNnvv0qzCqFWyuO5Wc/exec?start=1325437200&end=1325439000&prefix=alert"></script>
Run Code Online (Sandbox Code Playgroud)
我通过webapp使用以下参数部署GS代码来发布它:
不幸的是,每当我尝试运行/打开包含代码的HTML文件时,我在浏览器的控制台中出现以下错误,并且没有任何反应:

如何在没有错误的情况下运行Google Apps脚本链接中提供的此示例?
浏览器翻译的DOM如下:
<html>
<head>
<script src="https://script.google.com/macros/s/AKfycbwZCY0qrZ09szGvKOttA30IaJkdMAZrh_oNnvv0qzCqFWyuO5Wc/exec?start=1325437200&end=1325439000&prefix=alert">
</script>
</head>
<body></body>
</html>
Run Code Online (Sandbox Code Playgroud)
生成的链接,在我的情况是:
" https://script.google.com/macros/s/AKfycbwZCY0qrZ09szGvKOttA30IaJkdMAZrh_oNnvv0qzCqFWyuO5Wc/exec?start=1325437200&end=1325439000&prefix=alert "
如果此链接放置在浏览器地址栏中,它显示了以下信息:

这意味着返回的授权响应无法在浏览器上显示并被转换为有效DOM.
如何克服这个问题?