Googleフォームのアップロード機能でアップした回答者のファイルをフォーム送信後に削除したい
現在Googleフォームでアップロード機能を使ったフォームの運用を考えています。
まずGoogleフォームの仕様ですが
送信前に回答者がファイルのアップロードを行った時点で
回答者がオーナーのファイルが回答者のドライブ(直下)に保存されます。
その後フォームを送信すると
フォーム作成者側のドライブのファイル保存場所に
フォーム作成者側がオーナーのアップロードファイルが保存されます。
そこでですが、このままですと
回答者が意識してフォーム送信後に
自分のドライブ直下にアップされたファイルを消していかないと
ドライブ直下にアップロードファイルが溜まり続ける状態となってしまうため
なんとかGASやその他の手段(あれば)を用いて
フォーム送信後に回答者のアップロードファイルを削除したいと考えております。
現状、インターネットや書籍を参考に、フォームのGASでは以下のように
回答内容を取得してメールを送信するプログラムを書いております。
function noticeFileUpload(e) {
var itemResponses = e.response.getItemResponses();
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
var question = itemResponse.getItem().getTitle();
var answer = itemResponse.getResponse();
Logger.log(question);
Logger.log(answer);
if(question == "提出書類"){
var fileId = answer;
var file = DriveApp.getFileById(fileId);
var address = 'メールアドレス';
var title = '【Google Form送信テスト】ファイルがアップロードされました';
var content = 'ファイルがアップロードされました。\n\n'
+ 'ファイル名:' + file.getName()
+ '\n\n'
+ '※このメールはGoogleフォームからの自動送信メールです。';
GmailApp.sendEmail(address, title, content);
}
}
}
このように、回答内容を取得するコードはわかるのですが
回答者が自分のドライブにアップしたファイルを取得する具体的なコードがわかりません。
回答内容で保存されたファイルの名前から、自動付加された後ろのアカウント名を削除し
同じ名前のファイルをドライブ直下から検索→削除といった処理をしなければならないのでしょうか。
(その場合、既に同じ名前のファイルがあった場合などの対応も気がかりです)
すいませんがご教授いただけると助かります。
よろしくお願いいたします。