ฉันจะแสดงรายการสิ่งของใน Google Drive ตามระดับการเข้าถึงได้อย่างไร


11

ฉันพบว่าฉันกำลังแบ่งปันข้อมูลที่ละเอียดอ่อนใน Google Drive โดยไม่ตั้งใจ สิ่งนี้เกิดขึ้นหลายครั้ง ดังนั้นฉันต้องการตรวจสอบสิ่งที่ฉันแบ่งปันและกับใคร ฉันต้องการดูรายการของฉัน (ไฟล์และโฟลเดอร์) ในไดรฟ์เรียงลำดับตามระดับการเข้าถึง: สาธารณะครั้งแรกจากนั้นบุคคลที่มีลิงก์จากนั้นแชร์กับบุคคลที่เฉพาะเจาะจงและในที่สุดก็เป็นส่วนตัว เป็นไปได้ไหม

หรือมีวิธีอื่นในการบรรลุเป้าหมายนี้

คำถามนี้ใช้กับ Dropbox เช่นกันซึ่งฉันได้โพสต์คำถามแยกต่างหากตามที่แนะนำ


เสร็จสิ้น ฉันอัปเดตคำถามด้วยลิงก์ไปยังคำถามอื่นและในทางกลับกัน
Vaddadi Kartick

คำตอบ:


1

สคริปต์นี้จะทำให้คุณใกล้เคียงกับเป้าหมายมากทีเดียว นี่คือตัวอย่างของการส่งออกด้วย

ขณะนี้มีการตั้งค่าให้ทำงานในโฟลเดอร์และโฟลเดอร์ย่อยโดยเฉพาะ แต่คุณสามารถแก้ไขเพื่อให้ทำงานได้ทั้งไดรฟ์ (ขึ้นอยู่กับจำนวนไฟล์ที่อาจใช้งานหมด)

  1. เปิดสเปรดชีตใหม่
  2. ต้อง Tools>Script Editor
  3. คัดลอกและวางสคริปต์ด้านล่างลงในหน้าต่างนั้นเพื่อแทนที่ทุกอย่าง
  4. ใส่ ID โฟลเดอร์ของคุณแทน THE_FOLDER_ID
  5. บันทึกไว้
  6. เรียกใช้สคริปต์โดยกดปุ่มเล่น (Run)
  7. ไปดูสิ่งที่มันเขียนบนสเปรดชีตและจัดเรียงตามที่คุณต้องการ

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

    }

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.