Tạo hàm tự động lưu dữ liệu bảng tính Bước 1: Tạo bảng tính Google Đi tới Google Drive và tạo một trang bảng tính trắng và đặt tên tiêu đề.
Tạo mới bảng tính Google Spreadsheet Bước 2: Thêm công thức đầu tiên Các công thức trong bảng tính có thể làm nhiều hơn việc tính toán đơn thuần. Chúng có thể xuất dữ liệu từ URL. Có thể bạn sẽ muốn theo dõi nhiều hơn một trang, không chỉ của bạn mà của cả đối thủ, nên tất cả sẽ được thiết lập để dễ dàng điều chỉnh.
Thêm công thức trên bảng tính Cột đầu tiên là danh sách tài khoản Twitter bạn muốn theo dõi, cột thứ hai sẽ là công thức cho trang Twitter Web Intent. Thay vì trang dạng HTML phức tạp, có thể thấy đầy đủ URL thì các trang Web Intent được thiết kế cho các nhà phát triển muốn đưa module Twitter lên trang của mình. Định dạng là http://twitter.com/intent/user?screen_name=TWITTERHANDLE nên công thức cho bảng tính sẽ là =CONCAT)”https://twitter.com/intent/user?screnn_name-”,A2) Click vào kéo phần còn lại của bảng nếu dữ liệu nhiều hơn một dòng. Bước 3: Viết hàm bảng tính Lý tưởng nhất là dùng Twitter API để kéo dữ liệu. Tuy vậy dùng Twitter API hay các API khác cần có quyền chứng thực, bạn sẽ phải thiết lập OAuth2 cho bảng tính, nếu hứng thú thì Google có thư viện Oauth2 cho Google Apps Script. Trong hướng dẫn này, chúng ta sẽ dùng cách dễ dàng hơn để lấy số liệu người theo dõi từ Web Intent. Hàm IMPORTXML của Google Sheet cho phép xuất HTML bằng truy vấn XPath. XPath là ngôn ngữ khá phức tạp nhưng SelectorGadget sẽ cho phép trỏ và click để tìm dữ liệu nhất định trên trang HTML.
Sử dụng truy vấn XPath Đây là những gì SelectorGadget hiển thị cho truy vấn XPath: //*[contains(concat( “ “, @class, “ “ ), concat( “ “, “count”, “ “ ))]//*[contains(concat “ “, @class, “ “ ), concat( “ “, “alternate-context”, “ “ ))] Tuy vậy, vì hàm của Google Sheets dùng hai dấu trích dẫn để đóng giá trị, bạn sẽ cần đổi tất cả các dấu trích dẫn đôi của XPath thành trích dẫn đơn, sau đó nhập công thức dưới đây vào cột người theo dõi. =IMPORTXML(B2, “//dl[(((count(preceding-sibling::*) + 1) and parent::*)]//*[contains(concat( ‘ ‘, @class, ‘ ‘ ), concat( ‘ ‘, ‘alternate-context’, ‘ ‘ ))]”) Sau đó click và kéo thả phần còn lại của cột. Bước 4: Tự động lưu dữ liệu lấy về Sử dụng công thức này cho phần còn lại của cột C và các giá trị sẽ tự động điền vào mỗi tài khoản mà bạn theo dõi. Tuy vậy, các giá trị này sẽ không được lưu mà sẽ thay đổi mỗi lần mở bảng tính. Để giữ lịch sử giao dịch, hãy sao chép và dán giá trị thủ công vào cột khác. Thay vì thế, hãy tạo một hàm mới.
Bước 5: Viết hàm để lưu trữ dữ liệu Để lưu dữ liệu, ta cần tạo một hàm bảng tính. Đi tới Tools > Script Editor để tạo hàm, bạn sẽ thấy hàm mặc định myFunction.
Viết hàm để lưu dữ liệu Bước 6: Lưu ngày Người dùng cũng sẽ muốn biết khi nào dữ liệu được lấy và lưu trữ. Vì thế hãy thêm ngày hiện tại khi hàm chạy ở dòng đầu tiên của cột trống đầu tiên. Lệnh dưới đây sẽ giúp đặt giá trị dòng 1 của cột đầu tiên không có dữ liệu sang ngày và giờ hiện tại. sheet(1,numColumns + 1).setValue(newDate());
Lưu ngày và giờ hiện tại Sau đó làm tương tự với các ô còn lại trong cột với dữ liệu mới nhất. Code hàm sẽ là:
Đoạn code để lưu ngày giờ Bước 7: Hàm để lưu số người theo dõi Twitter Đổi sang storeFollowers() và dùng đoạn code dưới đây.
Lưu số người theo dõi Twitter Hình ảnh dưới đây cho thấy từng dòng sẽ làm gì, sau đó lưu lại, đặt tên cho script.
Hàm lưu số người theo dõi Twitter Bước 8: Lên lịch để hàm tự chạy Click vào biểu tượng đồng hồ để mở ra hộp thoại Current Project’s Triggers, sau đó chọn Click here to add one now. Bạn sẽ thiết lập để hàm chạy bất kì khi nào mở thủ công (From spreadsheet) hoặc theo lịch tự động (Time-driven) - hàng giờ, hàng ngày, hàng tháng.
Lên lịch để hàm chạy tự động