Header Ads

Hướng Dẫn Sử Dụng Script Google Apps: Liệt Kê Tập Tin và Thư Mục Trong Google Drive và Google Sheets

Hướng Dẫn Sử Dụng Script Google Apps: Liệt Kê Tập Tin và Thư Mục Trong Google Drive


Google Apps Script là một ngôn ngữ kịch bản dựa trên JavaScript, cho phép bạn tự động hóa các tác vụ trong Google Workspace. Trong bài viết này, chúng ta sẽ tạo một script để liệt kê tất cả các tập tin và thư mục trong một thư mục Google Drive cụ thể, và hiển thị chúng trong Google Sheets.

Bước 1: Tạo Script Google Apps

  1. Mở Google Sheets:

    • Tạo hoặc mở một bảng tính mới trong Google Sheets.
  2. Truy cập Google Apps Script:

    • Từ menu, chọn Extensions > Apps Script.
  3. Dán Mã Script:

    • Xóa mã mặc định và dán đoạn mã sau vào trình soạn thảo:

      function onOpen() {
        var SS = SpreadsheetApp.getActiveSpreadsheet();
        var ui = SpreadsheetApp.getUi();
        ui.createMenu('List Files/Folders')
          .addItem('List All Files and Folders', 'listFilesAndFolders')
          .addToUi();
      };
      
      function listFilesAndFolders(){
        var folderId = Browser.inputBox('Enter folder ID', Browser.Buttons.OK_CANCEL);
        if (folderId === "") {
          Browser.msgBox('Folder ID is invalid');
          return;
        }
        getFolderTree(folderId, true); 
      };
      
      // Get Folder Tree
      function getFolderTree(folderId, listAll) {
        try {
          // Get folder by id
          var parentFolder = DriveApp.getFolderById(folderId);
      
          // Initialise the sheet
          var file, data, sheet = SpreadsheetApp.getActiveSheet();
          sheet.clear();
          sheet.appendRow(["Full Path", "Name","Type" ,"Date", "URL", "Last Updated", "Description", "Size","Owner Email"]);
      
          // Get files and folders
          getChildFolders("", parentFolder, sheet, listAll);
        } catch (e) {
          Logger.log(e.toString());
        }
      };
      
      // Get the list of files and folders and their metadata in recursive mode
      function getChildFolders(parentName, parent, sheet, listAll) {
        var childFolders = parent.getFolders();
      
        // List folders inside the folder
        while (childFolders.hasNext()) {
          var childFolder = childFolders.next();
          var folderId = childFolder.getId();
          var folderData = [ 
            parentName + "/" + childFolder.getName(),
            childFolder.getName(),
            "Folder",
            childFolder.getDateCreated(),
            childFolder.getUrl(),
            childFolder.getLastUpdated(),
            childFolder.getDescription(),
            "", // No size for folders
            childFolder.getOwner().getEmail()
          ];
          // Write
          sheet.appendRow(folderData);
      
          // Recursive call to list files and folders inside subfolders
          getChildFolders(parentName + "/" + childFolder.getName(), childFolder, sheet, listAll);  
        }
      
        // List files inside the folder
        if (listAll) {
          var files = parent.getFiles();
          while (files.hasNext()) {
            var childFile = files.next();
            var fileData = [ 
              parentName + "/" + childFile.getName(),
              childFile.getName(),
              "File",
              childFile.getDateCreated(),
              childFile.getUrl(),
              childFile.getLastUpdated(),
              childFile.getDescription(),
              childFile.getSize()/1024,
              childFile.getOwner().getEmail()
            ];
            // Write
            sheet.appendRow(fileData);
          }
        }
      };
      
  4. Lưu Script:

    • Nhấn File > Save và đặt tên cho project, ví dụ: "List Files and Folders".

Bước 2: Chạy Script

  1. Tải Lại Google Sheets:

    • Đóng trình soạn thảo Apps Script và tải lại Google Sheets của bạn. Bạn sẽ thấy một menu mới có tên "List Files/Folders".
  2. Chạy Script:

    • Từ menu List Files/Folders, chọn List All Files and Folders. Một hộp thoại sẽ xuất hiện yêu cầu bạn nhập ID của thư mục mà bạn muốn liệt kê.

Bước 3: Lấy ID của Thư Mục

  1. Truy cập Google Drive:

    • Điều hướng đến thư mục bạn muốn liệt kê.
  2. Lấy ID Thư Mục:

    • ID của thư mục là phần cuối của URL sau từ folders/. Ví dụ, trong URL https://drive.google.com/drive/folders/1A2B3C4D5E6F7G8H9I0J, 1A2B3C4D5E6F7G8H9I0J là ID của thư mục.
  3. Nhập ID Thư Mục:

    • Dán ID vào hộp thoại trong Google Sheets và nhấn OK.

Kết Quả

Script sẽ liệt kê tất cả các tập tin và thư mục trong thư mục đã chọn, bao gồm các thuộc tính như tên, loại, ngày tạo, URL, ngày cập nhật cuối cùng, mô tả, kích thước, và email của chủ sở hữu. Kết quả sẽ được hiển thị trong bảng tính Google Sheets.

Lưu Ý

  • Đảm bảo bạn đã cấp quyền truy cập cho script vào Google Drive của bạn.
  • Nếu gặp bất kỳ lỗi nào, kiểm tra lại ID của thư mục và đảm bảo nó hợp lệ.
  • Bạn có thể tùy chỉnh script này để phù hợp với nhu cầu của bạn, ví dụ như chỉ liệt kê các tập tin hoặc thư mục cụ thể.

Hy vọng bài viết này sẽ giúp bạn tự động hóa việc quản lý và liệt kê các tập tin và thư mục trong Google Drive một cách hiệu quả. Nếu có bất kỳ câu hỏi hoặc góp ý nào, vui lòng để lại bình luận!

Nếu bài viết này hữu ích, anh em có thể mời mình cốc sinh tố lúa mạch theo số tài khoản TPbank 3355 3618 888 (quét QR). Để tạo ra 1 bài viết, mình mất trung bình 2-3 tiếng. Một sự ủng hộ hơn ngàn lời khích lệ, để mình có thể duy trì trang web và tạo ra nhiều bài viết chất lượng hơn. Trân trọng cảm ơn tình cảm của anh em!

No comments

Powered by Blogger.