অ্যাক্সেস স্তরের মাধ্যমে আমি কীভাবে আমার আইটেমগুলি গুগল ড্রাইভে তালিকাভুক্ত করব?


11

আমি নিজেকে গুগল ড্রাইভে সংবেদনশীল তথ্য ভাগ করে নেওয়ার জন্য পেয়েছি found এটি একাধিকবার ঘটেছে। তাই আমি যা ভাগ করছি এবং কার সাথে ভাগ করে নিচ্ছি তা খতিয়ে দেখতে চাই। আমি ড্রাইভে আমার আইটেমগুলির (ফাইল এবং ফোল্ডার) একটি তালিকা দেখতে চাই যা অ্যাক্সেস স্তরের অনুসারে বাছাই করা হয়: প্রথমে জনসাধারণ, তারপরে লিঙ্কযুক্ত লোক, পরে নির্দিষ্ট লোকের সাথে ভাগ করা এবং অবশেষে ব্যক্তিগত। এটা কি সম্ভব?

বা এই লক্ষ্য অর্জনের অন্য কোন উপায় আছে?

এই প্রশ্নটি ড্রপবক্সেও প্রযোজ্য, যার জন্য আমি প্রস্তাবিত হিসাবে একটি পৃথক প্রশ্ন পোস্ট করেছি ।


সম্পন্ন. আমি অন্য প্রশ্নের লিংক এবং তদ্বিপরীত সহ প্রশ্নটি আপডেট করেছি।
ভাদ্দাদি কার্তিক

উত্তর:


1

এই স্ক্রিপ্টটি আপনাকে সেই লক্ষ্যের খুব কাছে পেয়ে যাবে। এখানে আউটপুট একটি উদাহরণ

এটি বর্তমানে একটি নির্দিষ্ট ফোল্ডার এবং সাবফোল্ডারগুলিতে চালিত হওয়ার জন্য সেট আপ করা হয়েছে তবে আপনি এটি পুরো ড্রাইভে চালানোর জন্য এটি সংশোধন করতে পারেন (যে ফাইলগুলির সংখ্যা এটি শেষ হতে পারে তার উপর নির্ভর করে)।

  1. একটি নতুন স্প্রেডশিট খুলুন।
  2. করতে হবে Tools>Script Editor
  3. নীচে স্ক্রিপ্টটি সমস্ত কিছু প্রতিস্থাপন করে সেই উইন্ডোতে অনুলিপি করুন এবং আটকান
  4. আপনার ফোল্ডার আইডি এর জায়গায় রাখুন THE_FOLDER_ID
  5. এটি সংরক্ষণ করুন.
  6. প্লে (রান) বোতামটি হিট করে স্ক্রিপ্টটি চালান
  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.