Як перерахувати свої елементи на Диску Google за рівнем доступу?


11

Я випадково поділився конфіденційною інформацією на Диску Google. Це траплялося кілька разів. Тому я хочу перевірити, чим я ділюсь і з ким. Мені хотілося б побачити список моїх елементів (файлів і папок) на Диску, відсортованих за рівнем доступу: спочатку загальнодоступними, потім людьми за посиланням, потім спільними з певними людьми та нарешті приватними. Це можливо?

Або є якийсь інший спосіб досягнення цієї мети?

Це питання стосується і Dropbox, для якого я розмістив окреме запитання, як пропонується.


Зроблено. Я оновив питання за допомогою посилання на інше питання, і навпаки.
Ваддаді Картік

Відповіді:


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

    }

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.