Thời gian dùng thử đã hết!
Phần mềm đã vượt quá 15 ngày dùng thử miễn phí. Vui lòng nhập mã bản quyền (License Key) để tiếp tục sử dụng.
Bài 7. Triển khai Web App & API (Phần 8)
1. Kiến thức bài học: Hàm doGet()
Bên cạnh việc thao tác trực tiếp trên bảng tính, Apps Script cho phép bạn xuất bản mã nguồn thành một Ứng dụng Web (Web App) có đường dẫn URL riêng biệt (script.google.com/.../exec).
Để làm được điều này, mã của bạn bắt buộc phải có hàm hệ thống doGet(e) hoặc doPost(e). Hàm này có 2 kiểu trả về chính:
- Trả về HTML: Dùng
HtmlService.createHtmlOutput()để tạo ra một trang web giao diện (UI) cho người dùng truy cập. - Trả về JSON: Dùng
ContentService.createTextOutput()để biến file Sheet của bạn thành một Database API, cung cấp dữ liệu cho các phần mềm khác gọi tới.
2. Bài tập mẫu
Ví dụ 1: Trả về một trang Web (HTML)
Đề bài: Tạo một Web App cơ bản. Khi học sinh truy cập vào đường link, màn hình sẽ hiển thị câu chào mừng "Hệ thống Tra cứu Điểm - THPT Phan Chu Trinh".
Code Apps Script (Code.gs):
functiondoGet(e) {// Nội dung HTML muốn hiển thịletnoiDungHienThi="<h1 style='color:blue'>Hệ thống Tra cứu Điểm</h1>"+"<p>THPT Phan Chu Trinh - Chào mừng học sinh!</p>";// Trả về dưới dạng giao diện WebreturnHtmlService.createHtmlOutput(noiDungHienThi); }
* Sau khi viết code, bạn cần chọn Triển khai (Deploy) -> Tùy chọn triển khai mới -> Ứng dụng Web để lấy URL.
Mô phỏng truy cập URL Web App
Ví dụ 2: Tạo API trả về dữ liệu JSON (ContentService)
Đề bài: Ứng dụng điểm danh QR (hoặc app di động) cần lấy thông tin học sinh từ Google Sheet. Hãy viết hàm doGet trả về dữ liệu của học sinh dưới định dạng JSON.
Code Apps Script (Code.gs):
functiondoGet(e) {// Dữ liệu mô phỏng lấy từ Sheet (Ví dụ đọc bằng getValues())letduLieu= {"trangThai":"Thành công","hocSinh":"Nay Phoan","lop":"12A1","diemNghienCuuKHKT": 9.5 };// Chuyển Object thành chuỗi JSONletjsonString=JSON.stringify(duLieu);// Trả về API (Định dạng MIME là JSON)returnContentService.createTextOutput(jsonString) .setMimeType(ContentService.MimeType.JSON); }
Mô phỏng Request gọi API
Gửi GET Request tới URL của Apps Script để nhận dữ liệu cấu trúc:
3. Bài tập tự luyện
Bài tập: Nhận tham số từ URL (Query Parameters)
Đề bài:
Biến e trong hàm doGet(e) chứa các tham số được truyền qua URL. Ví dụ URL là .../exec?id=HS001.
Hãy viết mã đọc mã học sinh từ URL, nếu id là "HS001" thì trả về JSON tên là "Kpă Su", nếu không thì báo "Không tìm thấy".
Gợi ý:
- Lấy tham số:
let maHS = e.parameter.id; - Dùng lệnh
if (maHS == "HS001") {...}để kiểm tra. - Sử dụng
ContentService.createTextOutput(...)để trả về kết quả JSON tương tự Ví dụ 2.