Google Drive'daki öğelerimi erişim düzeyine göre nasıl listeleyebilirim?


11

Kendimi yanlışlıkla Google Drive'da hassas bilgileri paylaşırken buldum. Bu birçok kez oldu. Neyi ve kiminle paylaştığımı kontrol etmek istiyorum. Drive'daki öğelerimin (dosya ve klasörlerim) erişim düzeyine göre sıralanmış bir listesini görmek istiyorum: önce herkese açık, sonra bağlantıya sahip kişiler, daha sonra belirli kişilerle paylaşıldı ve son olarak özel. Mümkün mü?

Yoksa bu hedefe ulaşmanın başka bir yolu var mı?

Bu soru , önerildiği gibi ayrı bir soru gönderdiğim Dropbox için de geçerlidir .


Bitti. Soruyu diğer soruya bir bağlantıyla güncelledim veya tersini yaptım.
Vaddadi Kartick

Yanıtlar:


1

Bu komut dosyası sizi bu hedefe oldukça yaklaştırır. İşte çıktıya bir örnek .

Şu anda belirli bir klasörde ve alt klasörlerde çalışacak şekilde ayarlanmıştır, ancak tüm sürücüde çalışacak şekilde değiştirebilirsiniz (zaman aşımına uğrayabileceği dosya sayısına bağlı olarak).

  1. Yeni bir e-tablo açın.
  2. Lazım Tools>Script Editor
  3. Aşağıdaki komut dosyasını kopyalayıp her şeyin yerini alan pencereye yapıştırın
  4. Klasör kimliğinizi yerine yerleştirin THE_FOLDER_ID
  5. Kaydet.
  6. Oynat (Çalıştır) düğmesine basarak komut dosyasını çalıştırın
  7. Gidip e-tabloya ne yazdığını görün ve istediğiniz gibi sıralayın.

    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);
    
             };
     }
    

    }

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.