2017-02-09 13 views
0

Googleドライブのすべてのファイルを検索するスクリプトがあります。スクリプトをGoogleサイトのページの1つに実装しました。このスクリプトは、ルートフォルダにあるファイルに対してのみ機能しますが、サブフォルダにあるファイルに対しては機能しません。どんな助けもありがたい。 @Cesarが述べたように、Googleドライブの検索用スクリプト

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 results = DriveApp.searchFiles( 'fullText contains "' + e.parameter.q + '"'); –

+0

はい、私はそれがうまくいかないことを知っていましたが、私はあなたの提案を試みました。ドライブのフォルダIDがないファイルを探す場所はわかりません。 – magichand

+0

また、すべてのファイルはルートフォルダのサブフォルダにあり、スクリプトにルートフォルダID#を入力しました。ルートの下にあるすべてのファイル/フォルダを検索する必要があります。 – magichand

答えて

2

DriveApp.getFolderById().searchFiles()DriveApp.searchFiles()次のようになります。ここでは

が現在のスクリプトでいただきありがとうございます。 DriveAppFolderの2つのクラスはどちらもsearchFiles()メソッドを持っていますが、前者のみが再帰的に検索されます。文書を読んでください。

私はあなたのコードをコピーして(スピードアップするmodifedDateで)それをテストし、それはうまく行きました。

+0

私は、あなたがGoogleのサイトと同じアカウントのGoogleドライブを操作している場合にのみコードが実行されることを知っています。しかし、私はGoogleのサイトに組み込まれているアカウントとは関係のないGoogleドライブからファイルを引き出そうとしています。 – magichand

+0

APIドキュメントによれば、サブフォルダには組み込み関数がありません。 –

関連する問題