Google Apps脚本WebApp将html传递给文件

时间:2017-02-25 04:02:43

标签: javascript html google-apps-script

这是对this post的跟进。

我现在正在尝试使用模板文件,因此我可以提取一些css等。我将其作为Web应用程序发布。输出应该是iframe中包含的Google云端硬盘目录中的文件列表。

加载消息出现在iframe中,我没有收到任何语法错误,但是没有出现目录中的文件列表。

code.gs:

    function doGet() {
  return HtmlService.createHtmlOutputFromFile('page');
}

function FileList() {
  // my folder ID
  var dir = '[MY_FOLDER_ID]';
  var folder = DriveApp.getFolderById(dir);
  var contents = folder.getFiles();
  var filelist = [];
  var file, name, url, idName = []; 
  while (contents.hasNext()) {
    file = contents.next();
    name = file.getName();
    idName = name.toUpperCase();
    url = file.getUrl();
    // add table row html to filelist array
    filelist = filelist.concat('<tr><td><a id="' + idName + '" target="_blank" href="' + url + '">' + name + '</a></td></tr>');
  }
  // alpha sort filelist array  
  filelist.sort();
  // turn filelist into a string
  filelist = filelist.join(""); 

  return filelist;
}

page.html中:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
     function onSuccess(foo) {
      var table = document.getElementById('output');
      table.innerHTML = foo;    
     }   
     google.script.run.withSuccessHandler(onSuccess).getFileList();
    </script>
  </head>
  <body>
    <table id="output">Loading Files...</table>
  </body>
</html>

1 个答案:

答案 0 :(得分:0)

您的代码中存在语法/拼写错误:

google.script.run.withSuccessHandler(onSuccess).getFileList();

应该是

google.script.run.withSuccessHandler(onSuccess).FileList();

由于google脚本中的函数名称是FileList而不是getFileList()。

提示:您可以在Google Chrome中使用检查或开发者控制台,以便在运行网络应用时查看错误。(不确定您是否知道它。)

希望有所帮助,祝你好运!