我正在尝试将以下代码实施到我的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;
}
谢谢!
答案 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;
}
但是我对子文件夹中的文件没有结果。我还没想到它还在搜索驱动器中的所有文件 - 甚至在子文件夹下。