ユーザーがドライブからファイルを検索して開くことができるGoogleアプリスクリプトを使用してWebアプリを開発しています。今、私はこのループでファイルを表示します:
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 秒)、合計が非常に速くなることです。もう 1 つの問題は、これらのリンクがファイルを表すと見栄えがよくないことです。
これらの検索を DriveApp.searchFiles() で実行し、結果をアンカー/リンク以外のもので表示する方法はありますか?
編集: Zig Mandel と Serge insas の両方が言及したように、HTML サービスは見栄えを良くするために考慮する必要があります。「タイトルに「バナナ」が含まれている」などのパラメーターを使用すると、5 分のタイムアウト制限内に終了しないため、DriveApp.searchFiles 関数はあまり役に立たないことがわかりました。問題は、約 40 個の一致が見つかりましたが、その後、ドライブ内の他のすべての (>120000) ファイルをおそらくチェックしたことです。私の場合、 getAllFilesForPaging(number, token) 関数を使用し、タイトルに .indexOf('banana') != -1 メソッドを使用して「バナナ」が含まれているかどうかをすべてのファイルで確認しました。