Đưa website lên mạng bằng Google Apps Script
Google Apps Script là công cụ có sẵn trong mọi tài khoản Google. Sheet Flow dùng nó để tạo một “cầu nối” nhỏ ngay trong Google Sheet của bạn: website đọc menu, bảng giá từ Sheet và ghi đơn của khách vào Sheet qua cầu nối này. Bạn không cần tạo Service Account, không cần chia sẻ Sheet cho ai.
- 1
Mở tab Công khai và bấm “Tạo kết nối”
Trong Sheet Flow, mở website của bạn → tab Công khai → bước 2 → bấm Tạo kết nối. Sheet Flow tự viết một script nhỏ, gắn vào Google Sheet của website và tạo một đường kết nối riêng kèm chuỗi bí mật. Bạn không cần gõ dòng mã nào.
- 2
Nếu được nhắc: bật Google Apps Script API (một lần)
Lần đầu, Google có thể báo bạn chưa bật Apps Script API. Việc này chỉ làm một lần cho tài khoản Google.
- Mở trang cài đặt Apps Script (đăng nhập đúng tài khoản Google đang dùng ở Sheet Flow). Bấm vào dòng API Google Apps Script đang ghi Tắt.
- Gạt nút sang Đang bật (On).
- Quay lại Sheet Flow bấm Tạo kết nối (hoặc Tôi đã bật, thử lại nếu nút đang ghi vậy). Google có thể cần vài phút để nhận thay đổi.
- 3
Cho phép script dùng Google Sheet của bạn (một lần)
Sau khi tạo kết nối, bước 3 ở tab Công khai hiện nút Mở script. Google yêu cầu chính bạn bấm cho phép một lần.
- Bấm Mở script (mở tab mới). Ở thanh phía trên, chọn hàm
setuprồi bấm ▷ Chạy (Run). - Google hiện hộp Yêu cầu ủy quyền: bấm Xem lại quyền (Review permissions) rồi chọn tài khoản Google của bạn.
- Google liệt kê quyền script cần: Xem và quản lý bảng tính mà ứng dụng này đã được cài đặt bên trong — tức chỉ Google Sheet của website. Bấm Tiếp tục.
- Thấy dòng “Xong!” trong nhật ký thực thi là được. Quay lại Sheet Flow bấm Kiểm tra lại (Sheet Flow cũng tự kiểm tra khi bạn quay lại tab), rồi Bật Live (website đang Live bằng tài khoản kỹ thuật thì nút là Chuyển sang Apps Script).
Nếu Google hiện màn hình “Google chưa xác minh ứng dụng này”, bấm Nâng cao (Advanced) → Đi tới Sheet Flow — … (không an toàn). Không sao cả: script nằm trong chính tài khoản Google của bạn và chỉ có quyền với đúng bảng tính này.
- Bấm Mở script (mở tab mới). Ở thanh phía trên, chọn hàm
- 4
Bấm “Bật Live”
Bước 4 hiện dấu ✓ là website đã lên mạng. Sao chép đường dẫn gửi cho khách. Sửa Google Sheet → trang đổi theo sau khoảng 30 giây; khách đặt hàng → dòng mới xuất hiện trong Sheet.
Câu hỏi thường gặp
Có mất phí không? Không. Google Apps Script miễn phí với tài khoản Google thường, hạn mức rất lớn so với một website cửa hàng nhỏ.
Nếu Google báo “chưa xác minh ứng dụng” thì sao? Thường Google không hiện màn hình này. Nếu có, bấm Nâng cao → Đi tới Sheet Flow — … (không an toàn). Script được tạo ngay trong tài khoản Google của bạn và chỉ bạn dùng, nên Google không duyệt như một ứng dụng công khai. Script chỉ được quyền với đúng Google Sheet chứa nó (không xem được file khác trong Drive).
Script làm được gì với Google Sheet của tôi? Chỉ ba việc: kiểm tra kết nối, đọc dữ liệu trong Google Sheet đó khi website cần (trừ các trang “Lưu trữ · …”), và thêm một dòng mới khi khách gửi đơn. Script không xoá, không sửa dữ liệu có sẵn, không đụng file khác trong Drive.
Chuỗi bí mật là gì? Lỡ lộ thì sao? Là “mật khẩu” giữa website và script. Nó nằm ở máy chủ chạy website (script chỉ giữ mã băm), không bao giờ hiện trên trang web. Người có quyền chỉnh sửa Google Sheet xem được script — nếu bạn ngừng chia sẻ Sheet với ai, hoặc nghi bị lộ, bấm “Đổi chuỗi bí mật” ở tab Công khai. Đường dẫn website giữ nguyên.
Tôi có cần tạo Service Account hay chia sẻ Google Sheet không? Không. Cách này thay hoàn toàn cho Service Account. Website đang chạy theo cách cũ vẫn hoạt động bình thường; muốn chuyển, làm 4 bước trên rồi bấm “Chuyển sang Apps Script”.
Tôi dùng tài khoản Google công ty/trường học (Google Workspace)? Quản trị viên có thể đã chặn Apps Script hoặc chặn web app “Bất kỳ ai”. Khi đó Sheet Flow sẽ báo không tạo được script — hãy nhờ quản trị viên mở, hoặc dùng tài khoản Gmail cá nhân.
Xoá website thì script có tự mất không? Không. Xoá website khỏi Sheet Flow không xoá script trong Google Sheet. Muốn gỡ hẳn: mở Google Sheet → Tiện ích mở rộng → Apps Script → xoá project “Sheet Flow — …”.
Muốn có địa chỉ website riêng trên Vercel? Bấm “Deploy” ở mục “Đưa website lên Vercel” cuối tab Công khai — không cần tài khoản Vercel. Sheet Flow đặt website lên Vercel của Sheet Flow và tự nạp đường dẫn script, chuỗi bí mật.
Website đang dùng Service Account riêng (cách cũ)? Hướng dẫn cũ vẫn ở đây.