🗑️
共有ドライブに誤ってアップロードしたやばいファイルを削除する
共有ドライブに誤ってアップロードしたやばいファイルを削除する方法です。
どんなとき
誤って変な写真や動画を学校の共有ドライブにアップロードしてしまった人がいたとします。
生徒の権限上、ファイルの削除ができなくてやばい!ってことで削除したいとします。
その人から手伝って欲しいと言われたとします。
生徒の権限は、「投稿者」です。
共有ドライブの権限
共有ドライブには、以下のような権限があります。
名前 | 内容 |
---|---|
管理者 | 共有ドライブの削除、名前変更、共有設定の変更 |
コンテンツ管理者 | 共有ドライブ内のファイルの移動、削除 |
投稿者 | 共有ドライブへのファイルの追加、編集 |
閲覧者 | 共有ドライブのファイルの閲覧 |
生徒は、「投稿者」です。
コンテンツ管理者ではないので、ファイルの削除ができません。大変です。
方法
投稿者は、ファイルを「編集」できます。
この「編集」権限を用いて、ファイルを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('テスト') // 内容がないやつ
}
これで実行すればいいのです。写真や動画が読み込み不能になります!!
これで安心して先生にファイル削除をお願いできますね!
Discussion