应用程序脚本:动态创建文件并在浏览器中触发下载

时间:2014-04-05 15:49:12

标签: google-apps-script google-sheets

我一直试图这样做,但似乎无法理解整个画面。

我有一个电子表格,增加了自定义脚本,可以在互联网上收集内容。我添加了一个新菜单 - '下载源数据'这是为了让用户(在这种情况下我)能够点击一次'以csv格式下载原始数据。问题是csv中的默认导出并不是我所需要的,我更喜欢在脚本中创建文件的内容。我使用ContentService。当我按下菜单时,它会创建所需的内容,但是我希望脚本能够在浏览器中触发下载,但这不会发生。

所以我的问题是:是否可以从菜单中执行此操作(ActiveSpreadsheet.addMenu并参考我的函数)。如果是,我如何告诉浏览器开始使用创建的TextOutput的内容下载文件。我尝试过downloadAsFile(' filename')但它什么也没做。没有显示错误。

2 个答案:

答案 0 :(得分:0)

DriveApp有一个getDownloadUrl()方法,您可以使用该方法在小弹出窗口Ui中显示网址。您必须点击网址才能开始下载,因为没有用户操作就无法关注链接。

有关此类Ui的示例,请参阅this other post,这是一个标准网址,但方法完全相同。

答案 1 :(得分:0)

所以问题的答案是:单击自定义菜单时,用户无法触发文件下载。这是一种耻辱:))

感谢Serge insas,他们必须先被冒犯,然后再考虑回答:)