Как сделать ссылку (кнопку) на скопированный файл Google Drive с помощью HtmlService?

Когда я делаю:

var file = DriveApp.createFile(pdf);

и добавить экран «succes»:

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

Как получить кнопку на этом экране со ссылкой на файл made?
Могу ли я использовать:

file.getUrl()

Какой код я помещаю на html-страницу?

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

Любые указатели приветствуются.

2 ответа

  1. Вы будете хотеть использовать .createTemplateFromFile(). Это позволит вам передавать информацию из скрипта в модальный диалог. В Code.gsнем будет выглядеть что-то вроде этого:

    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!');
    

    Теперь в файле шаблона html используйте сценарий печати для получения url-адреса файла для использования в пользовательской кнопке:

    <a href="<?= url ?>" target="_blank"><button>Open file</button></a>
    

    В новом окне откроется новый файл.