Làm cách nào để liệt kê các mục của tôi trong Google Drive theo cấp độ truy cập?


11

Tôi thấy mình vô tình chia sẻ thông tin nhạy cảm trong Google Drive. Điều này đã xảy ra nhiều lần. Vì vậy, tôi muốn kiểm tra những gì tôi đang chia sẻ và với ai. Tôi muốn xem danh sách các mục của tôi (tệp và thư mục) trong Drive, được sắp xếp theo cấp độ truy cập: đầu tiên là công khai, sau đó là những người có liên kết, sau đó chia sẻ với những người cụ thể và cuối cùng là riêng tư. Điều đó có thể không?

Hoặc có cách nào khác để đạt được mục tiêu này?

Câu hỏi này cũng áp dụng cho Dropbox, trong đó tôi đã đăng một câu hỏi riêng như được đề xuất.


Làm xong. Tôi đã cập nhật câu hỏi với một liên kết đến câu hỏi khác và ngược lại.
Vaddadi Kartick

Câu trả lời:


1

Kịch bản này sẽ giúp bạn khá gần với mục tiêu đó. Đây là một ví dụ về đầu ra .

Hiện tại, nó được thiết lập để chạy trên một thư mục và thư mục con cụ thể nhưng bạn có thể sửa đổi nó để chạy trên toàn bộ ổ đĩa (tùy thuộc vào số lượng tệp có thể hết thời gian).

  1. Mở một bảng tính mới.
  2. Phải Tools>Script Editor
  3. Sao chép và dán tập lệnh bên dưới vào cửa sổ đó thay thế mọi thứ
  4. Đặt ID thư mục của bạn thay cho THE_FOLDER_ID
  5. Lưu nó
  6. Chạy tập lệnh bằng cách nhấn nút play (Run)
  7. Đi xem những gì nó đã viết trên bảng tính và sắp xếp theo cách bạn muố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);
    
             };
     }
    

    }

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.