初心者向け!GASでGoogleドライブのファイルを簡単に削除する方法
GASを使ってGoogleドライブのファイルを削除する準備
まず、GAS(Google Apps Script)でGoogleドライブのファイルを削除するための基本的な準備が必要だ。GASのスクリプト画面にアクセスしよう。
GASプロジェクトを作成する
GASプロジェクトを作成し、ドライブAPIを使用するために権限を付与する工程が必要だ。
- Googleドライブを開き、「+新規」から「その他」→「Google Apps Script」を選択する。
- スクリプトエディタが開いたら、「プロジェクトを名付ける」をクリックし、分かりやすい名前をつける。
ドライブAPIの権限を設定する
GASでGoogleドライブのファイルを操作するには、適切な権限設定が欠かせない。
- スクリプトエディタで、右上の「+」ボタンから「ライブラリ」を選択し、「Google ドライブ API」を検索。
- API無効となっている場合は有効にし、「追加」をクリックしてプロジェクトに追加する。
GASでGoogleドライブのファイルを削除するスクリプト
準備ができたところで、GASスクリプトによるファイル削除の方法を見ていこう。ここでは、ファイルIDを使って削除する方法を説明する。
ファイルIDを指定して削除する
以下のスクリプトは、指定したファイルIDに基づいてGoogleドライブのファイルを削除するものだ。
function deleteFile(fileId) {
var file = DriveApp.getFileById(fileId);
file.setTrashed(true);
}
DriveApp.getFileById(fileId)を使用し、指定のファイルIDに基づいてファイルオブジェクトを取得する。
取得したファイルオブジェクトに対し、setTrashed(true)を呼び出すことでファイルを削除する。
練習問題
以下のスクリプトを完成させ、特定のフォルダ内のすべてのファイルを削除するGASスクリプトを書いてみよう。
function deleteFilesInFolder(folderId) {
// フォルダを取得
var folder = DriveApp.getFolderById(folderId);
// _____________
while (files.hasNext()) {
// ファイルを削除
var file = files.next();
file.setTrashed(true);
}
}
解答・解説
function deleteFilesInFolder(folderId) {
// フォルダを取得
var folder = DriveApp.getFolderById(folderId);
// フォルダ内の全ファイルを取得
var files = folder.getFiles();
while (files.hasNext()) {
// ファイルを削除
var file = files.next();
file.setTrashed(true);
}
}
DriveApp.getFolderById(folderId)で指定フォルダを取得し、folder内のすべてのファイルをfolder.getFiles()でリスト化する。
取得したファイルをhasNext()で確認しながら、setTrashed(true)で削除していく仕組みだ。
catman、ありがとう!