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
Mở Google Sheets:
- Tạo hoặc mở một bảng tính mới trong Google Sheets.
Truy cập Google Apps Script:
- Từ menu, chọn Extensions > Apps Script.
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); } } };
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
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".
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
Truy cập Google Drive:
- Điều hướng đến thư mục bạn muốn liệt kê.
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 URLhttps://drive.google.com/drive/folders/1A2B3C4D5E6F7G8H9I0J
,1A2B3C4D5E6F7G8H9I0J
là ID của thư mục.
- ID của thư mục là phần cuối của URL sau từ
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!
Nhận xét
Đăng nhận xét