我正在使用Google应用脚本开发一个网络应用,用户可以在其中搜索并打开驱动器中的文件。现在我用这个循环显示文件:
var files = DriveApp.searchFiles('title contains "banana"');
var fileCount = 0;
while (files.hasNext()) {
var file = files.next();
app.getElementById('displayFilesPanel').add(app.createAnchor(file.getName() + ' - ' + file.getOwner().getEmail(), file.getUrl()));
fileCount++;
}
这里的问题是getOwner()方法需要相当长的时间(约0.1秒),这相当快。另一件事是这些代表文件的链接看起来不太好。
有没有办法使用DriveApp.searchFiles()进行这些搜索,并使用除锚点/链接之外的其他内容显示结果?
修改 由于Zig Mandel和Serge insas都提到HTML-Service应该被认为是让它看起来更好。 我发现DriveApp.searchFiles函数不是很有用,因为当我使用'title contains“banana”'这样的参数时,它不会在5分钟超时限制内完成。问题是,它找到了大约40个匹配但后来继续并且可能检查了我的驱动器中的所有其他(> 120000)文件。 在我的情况下,我使用了getAllFilesForPaging(number,token)-function并检查了每个文件,如果标题包含带有.indexOf('banana')!= -1-method的“banana”。
答案 0 :(得分:1)
你无法解决DriveApp的速度问题。它显然正在进行另一次往返以获取所有者的电子邮件。 为了使它看起来更好,请使用htmlService而不是uiApp。在两者中,您都可以添加文件图标以使其看起来更好。
答案 1 :(得分:1)
关于它的外观,即使Zig在推荐HTML服务时是正确的,使用UiApp仍然可以获得有趣的结果。
请参阅该链接,例如animated gif represents the link
那就是说,我不得不承认它不是地球上最简单的东西:-)但它仍然有效!
以下是我用于获取上述示例的代码(完整的应用程序代码,请查看我使用的2个小部件):
function doGet(){
var app = UiApp.createApplication().setStyleAttribute("background", "#CCCCFF").setTitle('Anchor Test')
var top = '100PX';// define dimensions and position
var left = '100PX';
var width = '80PX';
var height = '80PX';
var mainPanel = app.createVerticalPanel();
var customAnchor = app.createHorizontalPanel().setId('usethisId')
addStyle(customAnchor,top,left,width,height,'1','1')
var image = app.createImage("https://dl.dropbox.com/u/211279/Time-change-clock_animated_TR80.gif")
addStyle(image,top,left,width,height,'1','1')
var realAnchor = app.createAnchor('This is the Anchor', 'https://sites.google.com/site/appsscriptexperiments/home')
addStyle(realAnchor,top,left,width,height,'2','0')
customAnchor.add(realAnchor);
customAnchor.add(image)
mainPanel.add(customAnchor);
app.add(mainPanel);
return app;
}
function addStyle(widget,top,left,width,height,z,visibility){
widget.setStyleAttributes(
{'position': 'fixed',
'top' : top,
'left' : left,
'width' : width,
'height':height,
'opacity' : visibility,
'zIndex' : z});
}
关于速度:没有评论,它确实非常慢,如果你有很多文件,那么由于5分钟的限制你就无法到达列表的末尾......我知道没有解决方案: - /