Bagaimana cara mendaftar item saya di Google Drive berdasarkan tingkat akses?

11

Saya menemukan diri saya sendiri secara tidak sengaja berbagi informasi sensitif di Google Drive. Ini telah terjadi beberapa kali. Jadi saya ingin memeriksa apa yang saya bagikan dan dengan siapa. Saya ingin melihat daftar barang saya (file dan folder) di Drive, diurutkan berdasarkan tingkat akses: pertama publik, kemudian orang-orang dengan tautan, kemudian dibagikan dengan orang-orang tertentu, dan akhirnya pribadi. Apakah itu mungkin?

Atau adakah cara lain untuk mencapai tujuan ini?

Pertanyaan ini juga berlaku untuk Dropbox, di mana saya telah memposting pertanyaan terpisah seperti yang disarankan.

Vaddadi Kartick
sumber
Selesai Saya memperbarui pertanyaan dengan tautan ke pertanyaan lain, dan sebaliknya.
Vaddadi Kartick

Jawaban:

1

Script ini akan membuat Anda cukup dekat dengan tujuan itu. Ini adalah contoh dari output .

Saat ini diatur untuk dijalankan pada folder dan subfolder tertentu tetapi Anda dapat memodifikasinya untuk berjalan di seluruh drive (tergantung pada jumlah file yang mungkin habis waktu).

  1. Buka spreadsheet baru.
  2. Harus Tools>Script Editor
  3. Salin dan tempel skrip di bawah ini ke jendela yang menggantikan semuanya
  4. Masukkan ID folder Anda di tempat THE_FOLDER_ID
  5. Simpan itu.
  6. Jalankan skrip dengan menekan tombol play (Run)
  7. Pergi dan lihat apa yang tertulis di spreadsheet dan urutkan sesuai keinginan Anda.

    function listFolders(folder) {
    var sheet = SpreadsheetApp.getActiveSheet();
    sheet.appendRow(["Name", "Sharing Access", "Sharing Permission", "Get Editors", "Get Viewers", "Date", "Size", "URL", "Download", "Description", "Type"]); //writes the headers
    var folder = DriveApp.getFolderById("THE_FOLDER_ID");//that long chunk of random numbers/letters in the URL when you navigate to the folder
    
    var files = folder.getFiles();//initial loop on loose files w/in the folder
    
     var cnt = 0;
     var file;
    
     while (files.hasNext()) {
         var file = files.next();
         var listEditors = file.getEditors(); //gets the editor email(s), doesn't show your own as it's assumed
         var editors = [];
         for (var cnt = 0; cnt < listEditors.length; cnt++) {
             editors.push(listEditors[cnt].getEmail());
             Logger.log(editors);
         };
         var listViewers = file.getViewers(); //gets the viewer email(s)
         var viewers = [];
         for (var cnt = 0; cnt < listViewers.length; cnt++) {
             viewers.push(listViewers[cnt].getEmail());
             Logger.log(viewers);
         }
         cnt++;  //data chunk pushes all the file info to the ss
    
         data = [
             file.getName(),
             file.getSharingAccess(),
             file.getSharingPermission(),
             editors.toString(),
             viewers.toString(),
             file.getDateCreated(),
             file.getSize(),
             file.getUrl(),
             "https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
             file.getDescription(),
             file.getMimeType(),
         ];
    
         sheet.appendRow(data);
    
     };
    
    
     var subfolders = folder.getFolders(); //same thing as above but for all the subfolders in the folder
    
     while (subfolders.hasNext()) {
         //Logger.log(folder);
         var name = subfolders.next();
    
         var files = name.getFiles();
    
         var cnt = 0;
         var file;
    
         while (files.hasNext()) {
             var file = files.next();
             var listEditors = file.getEditors();
             var editors = [];
             for (var cnt = 0; cnt < listEditors.length; cnt++) {
                 editors.push(listEditors[cnt].getEmail());
                 Logger.log(editors);
             };
             var listViewers = file.getViewers();
             var viewers = [];
             for (var cnt = 0; cnt < listViewers.length; cnt++) {
                 viewers.push(listViewers[cnt].getEmail());
                 Logger.log(viewers);
             }
             cnt++;
    
             data = [
                 file.getName(),
                 file.getSharingAccess(),
                 file.getSharingPermission(),
                 editors.toString(),
                 viewers.toString(),
                 file.getDateCreated(),
                 file.getSize(),
                 file.getUrl(),
                 "https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
                 file.getDescription(),
                 file.getMimeType(),
             ];
    
             sheet.appendRow(data);
    
             };
     }
    

    }

Tom Woodward
sumber