Wie liste ich meine Artikel in Google Drive nach Zugriffsebene auf?

11

Ich habe versehentlich vertrauliche Informationen in Google Drive geteilt. Dies ist mehrfach passiert. Ich möchte also überprüfen, was ich mit wem teile. Ich möchte eine Liste meiner Elemente (Dateien und Ordner) in Drive sehen, sortiert nach Zugriffsebene: zuerst öffentlich, dann Personen mit dem Link, dann für bestimmte Personen freigegeben und schließlich privat. Ist das möglich?

Oder gibt es einen anderen Weg, um dieses Ziel zu erreichen?

Diese Frage gilt auch für Dropbox, für die ich wie vorgeschlagen eine separate Frage gestellt habe .

Vaddadi Kartick
quelle
Erledigt. Ich habe die Frage mit einem Link zur anderen Frage aktualisiert und umgekehrt.
Vaddadi Kartick

Antworten:

1

Mit diesem Skript kommen Sie diesem Ziel ziemlich nahe. Hier ist ein Beispiel für die Ausgabe .

Es ist derzeit für die Ausführung in einem bestimmten Ordner und in bestimmten Unterordnern eingerichtet. Sie können es jedoch so ändern, dass es auf dem gesamten Laufwerk ausgeführt wird (abhängig von der Anzahl der Dateien, für die möglicherweise eine Zeitüberschreitung auftritt).

  1. Öffnen Sie eine neue Tabelle.
  2. Müssen Tools>Script Editor
  3. Kopieren Sie das folgende Skript und fügen Sie es in dieses Fenster ein, um alles zu ersetzen
  4. Geben Sie Ihre Ordner-ID anstelle von ein THE_FOLDER_ID
  5. Speichern Sie es.
  6. Führen Sie das Skript aus, indem Sie auf die Wiedergabetaste (Ausführen) klicken
  7. Sehen Sie sich an, was in der Tabelle steht, und sortieren Sie, wie Sie möchten.

    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
quelle