【GAS】GoogleDriveの共有設定を一括で解除する方法

2021年9月3日

GoogleDriveでファイルの共有機能は便利なんですが、共有しっぱなしにしてしまい、誰に何を共有しているかわからなくなってしまうことはありませんか?

今回は指定したユーザーの共有を解除するスクリプトを紹介します。

共有ファイルの確認

共有されているファイルを確認してみます。確認する方法はGoogleDriveの検索窓に下記を入力して検索します。

sharedwith: メールアドレス

検索結果に共有されているファイルが表示されます。

スクリプトの作成

GASを作成していきます。

function main(){
  //削除したいユーザーのメールアドレスを設定します。
  removeShare("メールアドレス")
}

function removeShare(email){
  let files = DriveApp.searchFiles('"'+email+'" in readers and "'+email+'" in writers'  );
  while (files.hasNext()) {
    let file = files.next();
    console.log("共有解除 "+"ファイル名 :"+file.getName() +" ID :"+file.getId())
    file.removeViewer(email)   //閲覧権限削除
    file.removeEditor(email)   //編集権限削除
  }
}

簡単に説明していきます。7行目のコードはGoogleDriveから特定のファイルを検索しています。

  let files = DriveApp.searchFiles('"'+email+'" in readers and "'+email+'" in writers'  );

ファイルリストがイテレータで帰ってきますのでWhile文で取り出して、権限を外しています。

while (files.hasNext()) {
    let file = files.next();
    console.log("共有解除 "+"ファイル名 :"+file.getName() +" ID :"+file.getId())
    file.removeViewer(email)   //閲覧権限削除
    file.removeEditor(email)   //編集権限削除
  }

実行

「main()」を実行すれば共有設定が解除されます。ただし、各ファイルの共有設定を変更できるアカウントで実行する必要がありますので注意してください。

DriveAppの詳細はこちらからご確認ください。

参考にしていただければ幸いです。自己責任でお願いします。

GAS,Javascript,未分類

Posted by Next-k