Chào các anh chị em trong diễn đàn,
Dạo gần đây mình có tìm hiểu sâu hơn về Google Sheets và Google Apps Script để giải quyết một số bài toán tự động hóa trong công việc. Ngoài các hàm cơ bản, Apps Script còn cho phép chúng ta tương tác với các dịch vụ bên ngoài thông qua API, mở ra rất nhiều khả năng mới.
Mình muốn chia sẻ một ví dụ nhỏ về cách tích hợp một API đơn giản vào Google Sheets để lấy dữ liệu thời tiết. Giả sử chúng ta cần cập nhật thông tin thời tiết hàng ngày cho một khu vực. Thay vì vào web xem rồi copy-paste thủ công, chúng ta có thể tự động hóa việc này.
Các bước thực hiện:
- Lấy API Key: Đầu tiên, bạn cần đăng ký để lấy API key từ một nhà cung cấp dịch vụ thời tiết miễn phí (ví dụ: OpenWeatherMap).
- Viết Apps Script: Trong Google Sheets, vào Extensions > Apps Script để mở trình soạn thảo. Viết một hàm đơn giản để gọi API bằng hàm
UrlFetchApp.fetch(). - Xử lý dữ liệu trả về: API thường trả về dữ liệu dưới dạng JSON. Chúng ta cần dùng
JSON.parse()để chuyển đổi chuỗi JSON thành đối tượng JavaScript có thể làm việc được. - Cập nhật vào Sheet: Lấy các thông tin cần thiết (nhiệt độ, độ ẩm, mô tả...) và ghi vào các ô tương ứng trên Google Sheet.
- Thiết lập Trigger: Cài đặt một trigger để hàm tự động chạy định kỳ (ví dụ: mỗi giờ một lần).
Đoạn code mẫu để gọi API và lấy nhiệt độ có thể trông như thế này:
function getWeather() { var apiKey = 'YOUR_API_KEY'; var city = 'Hanoi'; var url = 'http://api.openweathermap.org/data/2.5/weather?q=' + city + '&appid=' + apiKey + '&units=metric&lang=vi'; try { var response = UrlFetchApp.fetch(url); var data = JSON.parse(response.getContentText()); var temperature = data.main.temp; SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1').getRange('A1').setValue(temperature); } catch (e) { Logger.log('Error fetching weather: ' + e.toString()); }}Lưu ý: Hãy thay 'YOUR_API_KEY' bằng API key thật của bạn và 'Hanoi' bằng thành phố bạn muốn theo dõi.
Đây chỉ là một ví dụ cơ bản, nhưng nó cho thấy tiềm năng của việc kết hợp Google Sheets với Apps Script để tự động hóa nhiều tác vụ khác nhau, không chỉ giới hạn trong phạm vi Excel. Hy vọng chia sẻ này hữu ích cho mọi người!