相关疑难解决方法(0)

从谷歌应用脚​​本启动下载

我使用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)

google-apps-script google-drive-api

4
推荐指数
2
解决办法
1万
查看次数

JSONP使用Google Apps脚本的ContentService?

我试图用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代码来发布它:

  • 执行应用程序:用户访问Web应用程序
  • 谁有权访问该应用:任何人

不幸的是,每当我尝试运行/打开包含代码的HTML文件时,我在浏览器的控制台中出现以下错误,并且没有任何反应:

在此输入图像描述

如何在没有错误的情况下运行Google Apps脚本链接中提供的此示例?




[可选]详细调查问题:

浏览器生成的资源文件中发现的错误如下: 在此输入图像描述

浏览器翻译的DOM如下:

<html>
   <head>
       <script src="https://script.google.com/macros/s/AKfycbwZCY0qrZ09szGvKOttA30IaJkdMAZrh_oNnvv0qzCqFWyuO5Wc/exec?start=1325437200&amp;end=1325439000&amp;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.

如何克服这个问题?

javascript jsonp google-apps-script

3
推荐指数
1
解决办法
4437
查看次数