Jak wyświetlić moje elementy na Dysku Google według poziomu dostępu?

11

Przypadkowo udostępniłem poufne informacje na Dysku Google. Stało się to wiele razy. Chcę więc sprawdzić, co udostępniam iz kim. Chciałbym zobaczyć listę moich elementów (plików i folderów) na Dysku, posortowaną według poziomu dostępu: najpierw publiczny, potem osoby z linkiem, następnie udostępnione określonym osobom, a na koniec prywatne. Czy to jest możliwe?

Czy jest jakiś inny sposób na osiągnięcie tego celu?

To pytanie dotyczy również Dropbox, dla którego zamieściłem osobne pytanie, zgodnie z sugestią.

Vaddadi Kartick
źródło
Gotowe. Zaktualizowałem pytanie, podając link do drugiego pytania i odwrotnie.
Vaddadi Kartick

Odpowiedzi:

1

Ten skrypt zbliży Cię do tego celu. Oto przykład wyniku .

Obecnie jest skonfigurowany do uruchamiania w określonym folderze i podfolderach, ale można go zmodyfikować, aby działał na całym dysku (w zależności od liczby plików, które może przekroczyć limit czasu).

  1. Otwórz nowy arkusz kalkulacyjny.
  2. Musieć Tools>Script Editor
  3. Skopiuj i wklej poniższy skrypt do tego okna, zastępując wszystko
  4. Umieść swój identyfikator folderu w miejscu THE_FOLDER_ID
  5. Zapisz to.
  6. Uruchom skrypt, naciskając przycisk odtwarzania (Run)
  7. Zobacz, co napisano w arkuszu kalkulacyjnym, i posortuj według własnego uznania.

    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
źródło