スプレッドシートの処理中、不要になったGoogleドライブのファイルを、ごみ箱へ移したい時のメモ。
削除コマンドは「delete」ではなく「setTrashed」
GASでGoogleドライブのファイルを削除しようとするとき、直感的に「deleteFile」のような名前のメソッドを探してしまうことが多い。しかし、実際にはファイルを完全に消し去るメソッドを直接呼ぶのではなく、対象のファイルに対して「ゴミ箱に入れる」という状態をセットする仕様になっている。
ファイルをゴミ箱へ移動するコード
実際のコード。対象のファイルIDを指定して取得し、setTrashed(true) を実行する。
const file = DriveApp.getFileById("FILE_ID");
file.setTrashed(true);
一時的な作業用シートの掃除に
スプレッドシートからPDFを書き出す処理などで、一時的に作業用のファイルを作ることがある。スクリプトの終了時にこの処理を組み込んでクリーンアップしておくと、不要なファイルがドライブ内に散乱するのを防げる。
万が一の時は手動で復旧できる
setTrashed(true) による処理は完全削除ではなく、あくまでゴミ箱への移動となる。そのため、プログラムのバグなどで誤って必要なファイルを処理してしまっても、Googleドライブのゴミ箱から手動で復旧が可能となっている。

