在Google云端硬盘中搜索文件

时间:2017-02-07 19:14:22

标签: javascript

我正在尝试将以下代码实施到我的Google网站中,因此我可以通过在搜索栏中输入任何参数来搜索我的Google云端硬盘中的文件。但我得到了

  

“TypeError:无法从undefined中读取属性”参数“。(第2行,   文件“搜索”)“

当我尝试在谷歌脚本编译器中运行它时出现

错误。 我知道这个错误意味着参数没有设置为任何值。所以我尝试将其实施到一个新的Google网站页面进行测试,但仍然没有得到任何搜索结果。

function doGet(e) {
      var results = DriveApp.getFolderById('0B3xR7WfXrj7aQTc5NWNMOGtITGc').searchFiles('fullText contains "' + e.parameter.q + '"');
      var app = UiApp.createApplication();
      var panel = app.createVerticalPanel();
      while(results.hasNext()) {
        var file = results.next();
        panel.add(app.createAnchor(file.getName(), file.getUrl()));
      }
      var scrollPanel = app.createScrollPanel(panel).setHeight(200);
      app.add(scrollPanel);
      return app;
    }

谢谢!

1 个答案:

答案 0 :(得分:0)

我得到了它的工作。我发现Google已弃用UiApp()课程。我不得不使用HTML服务。 这是工作代码:

function doGet(e) {
  var results = DriveApp.getFolderById('youGoogleDriveId').searchFiles('fullText contains "' + e.parameter.q + '"');
  var output = HtmlService.createHtmlOutput('Results: <br /><br /><ul>');
  while (results.hasNext()) {
    var file = results.next();
    output.append('<li><a href="' + file.getUrl() + '">' + file.getName() + '</a></li>');
  }
  output.append('</ul>');
  return output;
}

但是我对子文件夹中的文件没有结果。我还没想到它还在搜索驱动器中的所有文件 - 甚至在子文件夹下。