🗑️

共有ドライブに誤ってアップロードしたやばいファイルを削除する

2024/06/02に公開

共有ドライブに誤ってアップロードしたやばいファイルを削除する方法です。

どんなとき

誤って変な写真や動画を学校の共有ドライブにアップロードしてしまった人がいたとします。
生徒の権限上、ファイルの削除ができなくてやばい!ってことで削除したいとします。
その人から手伝って欲しいと言われたとします。

生徒の権限は、「投稿者」です。

共有ドライブの権限

共有ドライブには、以下のような権限があります。

名前 内容
管理者 共有ドライブの削除、名前変更、共有設定の変更
コンテンツ管理者 共有ドライブ内のファイルの移動、削除
投稿者 共有ドライブへのファイルの追加、編集
閲覧者 共有ドライブのファイルの閲覧

生徒は、「投稿者」です。
コンテンツ管理者ではないので、ファイルの削除ができません。大変です。

方法

投稿者は、ファイルを「編集」できます。
この「編集」権限を用いて、ファイルを0Bのファイルにしてしまえばいいのです!!!

しかし、Googleドライブ上で動画の編集や写真の編集はできません。
そこで、Google Apps Scriptを使ってファイルの内容を消します。

function remove () {
  const files = DriveApp.getFolderById('...').getFiles() // 対象のフォルダID
  let i = 0
  while (true) {
    if (files.hasNext()) {
      // ファイルがない
      break
    }
    const file = file.next() // フォルダの中のファイル
    processFile(file, i) // 任意の関数
    i++
  }
}

このようにして、フォルダの中のファイルを繰り返し処理できます。

processFileの中身はこんな感じでどうでしょうか?

/**
 * @param file {DriveApp.File}
 * @param i {number}
 */
const processFile = (file, i) => {
  file.setName(`無題のファイル${i + 1}`) // いい感じにミスった感を出す
  file.setContent('テスト') // 内容がないやつ
}

これで実行すればいいのです。写真や動画が読み込み不能になります!!

これで安心して先生にファイル削除をお願いできますね!

GitHubで編集を提案

Discussion