Một số hàm Utilities hữu ích trong Apps Script giúp tối ưu hóa lập trình Google Workspace
Google Apps Script là một nền tảng mạnh mẽ cho phép lập trình viên tạo các tiện ích mở rộng, tự động hóa công việc, và tùy chỉnh Google Workspace. Một trong những thư viện hữu ích nhất trong Apps Script là Utilities, cung cấp nhiều hàm tiện ích giúp xử lý các tác vụ phổ biến một cách dễ dàng và nhanh chóng. Trong bài viết này, chúng ta sẽ tìm hiểu một số hàm Utilities phổ biến và cách áp dụng chúng để tối ưu hóa mã.
1. Hàm Utilities.formatDate()
Khi làm việc với dữ liệu ngày tháng, đặc biệt là khi chuyển đổi định dạng ngày từ hệ thống này sang hệ thống khác, Utilities.formatDate()
là công cụ hữu ích. Hàm này giúp định dạng ngày tháng theo bất kỳ định dạng nào mà bạn mong muốn. Ví dụ:
javascriptCopy codefunction formatMyDate() {
var date = new Date();
var formattedDate = Utilities.formatDate(date, Session.getScriptTimeZone(), "dd/MM/yyyy");
Logger.log(formattedDate); // Kết quả: 26/10/2024 (theo thời gian thực)
}
Với formatDate()
, bạn có thể dễ dàng định dạng lại ngày tháng, phù hợp cho việc xuất dữ liệu hoặc tạo báo cáo có tính thẩm mỹ cao hơn.
2. Hàm Utilities.base64Encode()
và Utilities.base64Decode()
Base64 là một phương pháp mã hóa chuỗi, thường được sử dụng để xử lý dữ liệu nhị phân như hình ảnh hoặc tài liệu khi cần lưu trữ hoặc truyền tải qua mạng. Utilities.base64Encode()
và Utilities.base64Decode()
giúp chuyển đổi dữ liệu thành chuỗi base64 hoặc giải mã chúng.
Ví dụ sử dụng:
javascriptCopy codefunction encodeDecodeText() {
var text = "Hello, Apps Script!";
var encodedText = Utilities.base64Encode(text);
Logger.log("Encoded Text: " + encodedText);
var decodedText = Utilities.base64Decode(encodedText);
Logger.log("Decoded Text: " + decodedText); // Kết quả: Hello, Apps Script!
}
Sử dụng các hàm này giúp bảo mật dữ liệu trong quá trình truyền tải và lưu trữ, giảm thiểu nguy cơ bị mất dữ liệu nhạy cảm.
3. Hàm Utilities.getUuid()
UUID (Universally Unique Identifier) là mã nhận dạng duy nhất thường dùng để gán nhãn cho một đối tượng hay hồ sơ cụ thể trong hệ thống. Utilities.getUuid()
tạo ra một UUID ngẫu nhiên, giúp quản lý dữ liệu trở nên dễ dàng hơn khi làm việc với các hệ thống lớn, như khi xử lý bảng tính hoặc cơ sở dữ liệu.
Ví dụ:
javascriptCopy codefunction generateUniqueId() {
var uuid = Utilities.getUuid();
Logger.log("Generated UUID: " + uuid);
}
UUID này đảm bảo tính duy nhất, tránh trùng lặp dữ liệu trong quá trình quản lý.
4. Hàm Utilities.sleep()
Khi cần kiểm soát thời gian thực hiện mã, Utilities.sleep()
là giải pháp tối ưu. Hàm này tạm dừng thực thi trong khoảng thời gian nhất định (tính bằng milliseconds), giúp điều chỉnh tốc độ hoặc tránh quá tải yêu cầu đến server.
Ví dụ:
javascriptCopy codefunction delayExecution() {
Logger.log("Start");
Utilities.sleep(2000); // Tạm dừng 2 giây
Logger.log("End");
}
Đặc biệt, sleep()
rất hữu ích trong việc kiểm soát truy cập đến API bên ngoài khi cần tuân thủ giới hạn tốc độ của API.
5. Hàm Utilities.computeDigest()
Utilities.computeDigest()
được sử dụng để tạo mã băm (hash) của một chuỗi, giúp bảo mật dữ liệu nhạy cảm như mật khẩu hoặc mã hóa dữ liệu.
Ví dụ:
javascriptCopy codefunction hashPassword() {
var password = "securepassword";
var hashedPassword = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, password);
Logger.log("Hashed Password: " + hashedPassword);
}
Mã hóa dữ liệu bằng hàm này giúp bảo vệ dữ liệu, đặc biệt trong các ứng dụng có chứa thông tin nhạy cảm.
Kết luận
Google Apps Script Utilities là công cụ mạnh mẽ hỗ trợ lập trình viên làm việc với dữ liệu một cách hiệu quả. Các hàm như formatDate
, base64Encode
, getUuid
, sleep
, và computeDigest
giúp giải quyết nhiều yêu cầu phổ biến, giảm thiểu dòng lệnh và tăng tính tối ưu. Khi nắm vững cách sử dụng các hàm Utilities, bạn sẽ dễ dàng xây dựng các ứng dụng tiện ích và tăng cường khả năng tự động hóa trong Google Workspace.
Dịch vụ lập trình ứng dụng
🎯 Lập trình API, Python, Node JS, Telegram Bot, Automate Workflow, Power Apps and Apps Script.
📒 Nhận dạy Lập trình Apps Script, Power Apps từ cơ bản đến nâng cao.
📞 +84 78 600 5534 (Zalo, WhatsApp, Telegram)
💻 Github