2017-02-09 72 views
0

我有一個腳本可以搜索Google驅動器中的所有文件。我將這個腳本實現到了一個Google網站頁面。該腳本僅適用於根文件夾中的文件,但不適用於子文件夾中的文件。任何幫助讚賞。謝謝在Google Drive中搜索的腳本

這是當前腳本:

function doGet(e) { 
    var results = DriveApp.getFolderById('yourGoogleDriveId').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; 
} 
+1

您是否嘗試過直接運行而不使用「getFolderById」,否則會在該特定文件夾下查找文件?即var結果= DriveApp.searchFiles('fullText包含''+ e.parameter.q +'''); –

+0

是的,即使我知道它不起作用,但我已經嘗試了您的建議。它不知道在哪裏查找沒有云端硬盤文件夾ID的文件。 – magichand

+0

此外,所有文件都位於根文件夾的子文件夾中,並將根文件夾ID#鍵入腳本中。它應該搜索根目錄下的所有文件/文件夾。 – magichand

回答

2

正如@Cesar提到,DriveApp.getFolderById().searchFiles()應該DriveApp.searchFiles()。兩個類DriveAppFolder都有searchFiles()方法,但只有前者以遞歸方式搜索。閱讀文件。

我複製你的代碼和測試它(與modifedDate加快),它都很好。

+0

我知道只要您在Google網站的相同帳戶中使用Google驅動器,代碼就會運行。但我試圖從Google驅動器提取與Google網站內置的相同帳戶無關的文件。希望清除這些文件。 – magichand

+0

然後,根據API文檔,您沒有可用於子文件夾的內置功能。 –