如何使用HtmlService为复制的Google云端硬盘文件创建链接(按钮)?

时间:2017-01-17 10:11:15

标签: google-apps-script

当我这样做时:

var file = DriveApp.createFile(pdf);

并添加一个'成功'屏幕:

var html = HtmlService.createHtmlOutputFromFile('page')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setWidth(300)
.setHeight(100);
DocumentApp.getUi() 
.showModalDialog(html, 'Done!');

如何在此屏幕上显示带有指向文件的链接的按钮? 我可以使用:

file.getUrl()

我在html页面上放了什么代码?

<input type="button" value="OK" onclick="???" />

欢迎提出任何指示。

2 个答案:

答案 0 :(得分:0)

我会尝试使用getid()

然后尝试类似:

Var fileIds =[];

//  Logger.log("https://drive.google.com/uc?export=download&id=" + fileIds[i]);

答案 1 :(得分:0)

您需要使用id | parent_id | root_id ------------------------- a | null | a a.1 | a | a a.1.1 | a.1 | a b | null | b 。这将允许您将脚本中的信息传递到模态对话框。在.createTemplateFromFile()中,它看起来像这样:

Code.gs

现在,在您的html模板文件中,使用printing scriptlet检索文件的网址,以便在自定义按钮中使用:

var html = HtmlService.createTemplateFromFile("template");
//do not evaluate your html template, yet!

//get file url to pass to template
var fileUrl = file.getUrl();

//pass fileUrl to the html template as though it were a parameter of the
//html object
html.url = fileUrl;

//evaluate template and set features
var output = html.evaluate()
                 .setSandboxMode(HtmlService.SandboxMode.IFRAME)
                 .setWidth(300)
                 .setHeight(100);

DocumentApp.getUi().showModalDialog(output, 'Done!');

这应该会在新窗口中打开您的新文件。