【初心者向け&コード例付き】GASで1年以上経過したGoogleドライブデータを自動削除する方法

  • URLをコピーしました!

Google Apps Script(GAS)を活用して、Googleドライブ内の古いファイルを自動で管理・削除する方法をご紹介します。本記事では、1年以上更新されていないファイルを指定フォルダから自動的にゴミ箱へ移動するスクリプトの実装方法、トリガー設定、初回実行時の承認手順、さらには応用例までを詳細に解説しています。GASを用いた自動化は、日々の業務効率化やデータ整理に大いに役立ちます。

目次

GASとは?

Google Apps Script(GAS)は、Googleが提供するクラウドベースのスクリプト言語で、Gmail、Googleドライブ、スプレッドシート、Googleフォームなどの各種Googleサービスと連携し、さまざまな作業の自動化が可能です。初心者でも扱いやすいシンプルなJavaScriptベースの構文で記述できるため、業務プロセスの効率化や定型作業の自動化を実現する強力なツールです。

実現できる機能

GASを利用することで、以下のような自動化機能が実現できます。

  • フォーム送信時の自動メール通知
  • スプレッドシートのデータ集計やレポートの自動生成
  • Googleドライブ内の古いファイルの自動削除(ゴミ箱への移動)
  • 特定時間に実行される定期タスクの自動化
このように、GASは多岐にわたる業務プロセスの自動化をサポートし、日常のルーチンワークを大幅に削減することが可能です。

必要な準備

自動削除スクリプトを実装する前に、以下の準備が必要です。

  • Googleアカウントにログインし、Googleドライブやスプレッドシートへのアクセスを確保する。
  • 自動削除の対象となるフォルダのIDを確認する。フォルダのURL内にIDが含まれているため、これをメモしておきます。
  • Google Apps Scriptのスクリプトエディタにアクセス。Googleドライブやスプレッドシート上部の「拡張機能」→「Apps Script」から新規プロジェクトを作成してください。
これらの準備が整えば、スクリプトの記述と実行、トリガー設定がスムーズに進められます。

GASのスクリプト解説

今回ご紹介するスクリプトは、指定フォルダ内の各ファイルの最終更新日をチェックし、1年以上経過しているファイルを自動でゴミ箱に移動する仕組みになっています。以下にコード例とその詳細な解説を記載します。


/**
 * 指定フォルダ内の各ファイルをチェックし、最終更新日が1年以上前のファイルをゴミ箱に移動する関数
 */
function deleteOldDriveFiles() {
  var folderId = 'YOUR_FOLDER_ID'; // 対象フォルダの ID を設定
  var folder = DriveApp.getFolderById(folderId);
  var files = folder.getFiles();
  
  // 1 年分のミリ秒(365日 × 24時間 × 60分 × 60秒 × 1000ミリ秒)
  var oneYear = 365 * 24 * 60 * 60 * 1000;
  var now = new Date().getTime();
  
  // フォルダ内の各ファイルについて処理
  while (files.hasNext()) {
    var file = files.next();
    if (now - file.getLastUpdated().getTime() > oneYear) {
      file.setTrashed(true);
      Logger.log("Trashed: " + file.getName());
    }
  }
}

上記のコードでは、まず対象フォルダのID(YOUR_FOLDER_ID)を設定し、DriveApp.getFolderById()で該当フォルダを取得します。続いて、フォルダ内の全ファイルに対してループ処理を実施し、現在時刻との差が1年以上(365日分のミリ秒)を超えるファイルに対してsetTrashed(true)を呼び出すことでゴミ箱へ移動します。削除されたファイルはLoggerを通じて出力されるため、処理状況を確認することが可能です。

トリガーの設定

スクリプトを自動実行するためには、GASのトリガー設定が必須です。以下の手順でトリガーを設定してください。

  • スクリプトエディタ上部の「時計アイコン」または「編集」メニューから「現在のプロジェクトのトリガー」を選択します。
  • 「トリガーを追加」ボタンをクリックし、関数名として deleteOldDriveFiles を選択します。
  • 実行イベントを「時間主導型」に設定し、毎日または毎週などの頻度で自動実行するようスケジュールを設定します。
この設定により、定期的にフォルダ内のファイルがチェックされ、1年以上更新されていないファイルが自動で削除される仕組みが構築されます。

初回実行時の承認手順について

初回実行時には、Googleのセキュリティ機能によりスクリプトの承認が必要となります。以下の手順で承認を行ってください。

  • スクリプトエディタ上で関数を実行すると、権限の承認ダイアログが表示されます。
  • 「詳細」をクリックし、表示されるリンク(例:「{プロジェクト名}(安全ではないページに移動)」)を選択します。
  • 表示される画面の指示に従い、必要な権限(Googleドライブやその他のサービスへのアクセス)を許可してください。
これにより、スクリプトが正しく動作するための環境が整い、以降の自動実行が可能になります。

応用例・カスタマイズ

本スクリプトは、基本的な自動削除機能を提供するものですが、以下のようなカスタマイズや応用も可能です。

  • 複数フォルダの管理: 複数のフォルダIDをリスト化し、まとめてチェックすることで、より広範な自動整理が可能になります。
  • エラーハンドリング: ファイル削除に失敗した場合の例外処理を追加し、エラーログの出力や管理者への通知機能を実装する。
  • カスタム条件: ファイル名や拡張子、サイズなどの条件に基づいて削除対象を絞り込むことができ、柔軟な自動管理が実現できます。
  • 他サービスとの連携: 削除後にSlackやメールで通知を送る仕組みを追加することで、リアルタイムに処理状況を把握できるようになります。
これらの応用例を通じて、業務プロセスやデータ管理の自動化レベルをさらに向上させることが可能です。

まとめ

本記事では、Google Apps Script(GAS)を活用して、1年以上更新されていないGoogleドライブ内のファイルを自動で削除する方法について詳しく解説しました。対象フォルダの設定、スクリプトの実装、トリガー設定、初回実行時の承認手順、そして多様な応用例までをカバーすることで、GASを利用した自動化の有用性と具体的な手法をお伝えしました。ぜひ、本手法を活用して、日々の業務効率化やデータ管理の最適化にお役立てください。

  • URLをコピーしました!
目次