Lấy dữ liệu từ Google Spreadsheets lên Blogger

Nếu bạn có để ý thì trên blog của mình có một trang nhỏ "Bảng câu hỏi" hiện dữ liệu được gửi vào Form ở trang "Thắc mắc & Góp ý" của mình. Đây là một trong những thủ thuật khá hay nhưng có phần hơi chậm. Bạn có thể tận dụng Google Spreadsheets như là cơ sở dữ liệu riêng dành cho Blogger vậy. Thủ thuật này nói đúng hơn là đoạn mã này được viết bằng jQuery và có tên là Sheetrock, mình thì chưa đủ kiến thức để viết ra nó đâu, đây là website của tác giả.
http://chriszarate.github.io/sheetrock/
Chi tiết ở trang đó hướng dẫn các bạn đầy đủ cách thức để sử dụng luôn rồi, nhưng nếu bạn không rành thì tiếp tục với hướng dẫn dưới đây của mình nhé. Lưu ý là mình chỉ hướng dẫn cơ bản để hiện nó rồi lựa chọn những dữ liệu nào để hiển thị thôi, còn chuyên sâu thì bạn ngâm cứu thêm ở site gốc nhé.

Lấy dữ liệu từ Google Spreadsheets lên Blogger
Bảng câu hỏi từ Spreadsheets

Lấy dữ liệu từ Google Spreadsheets lên Blogger

Ở đây mình sẽ nhúng thẳng đoạn script được host ở trên Github luôn, trên dịch vụ này thì chắc nó không tẻo được đâu, còn bạn không yên tâm có thể tải nó xuống và lưu trử file trên Google Drive hoặc dịch vụ lưu trữ khác nào đó bạn tin dùng.

Đầu tiên bạn chèn đoạn mã sau đây lên trên thẻ </head> trong template của blog bạn
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://chriszarate.github.io/sheetrock/dist/jquery.sheetrock.min.js" type="text/javascript"></script>
nếu trong template của bạn có đoạn mã nhúng jQuery rồi thì bỏ dòng đầu tiên đi nhé.

Công việc tiếp theo đơn giản để hiện cái dữ liệu từ Googel Spreadsheets được liệt kê dưới dạng bảng thì bạn chèn đoạn mã này vào trang hoặc là bài viết mà bạn muốn hiện nó
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
// Define spreadsheet URL.
var mySpreadsheet = 'https://docs.google.com/spreadsheet/ccc?key=1uUdE92WM6xsVUkGX224WUSVyHIiItg2giJSlCgzS8Ik#gid=0';

// Load top ten switch hitters.
$('#switch-hitters').sheetrock({
  url: mySpreadsheet,
  sql: "select E,B order by A desc",
  chunkSize: 20
});

});
//]]></script>
<table class="table table-condensed table-striped" id="switch-hitters"></table>
Ở đoạn mã trên thì các bạn thay
https://docs.google.com/spreadsheet/ccc?key=1uUdE92WM6xsVUkGX224WUSVyHIiItg2giJSlCgzS8Ik#gid=0
bằng địa chỉ đến Spreadsheets của bạn trên Google Drive, bạn chỉ đơn giản là vào Google Drive rồi chọn xem bẳng đó, và trên thanh địa chỉ là cái mà bạn cần. Ngoài việc thay địa chỉ thì bạn sẽ thay E và B ở trong "select E,B order by A desc" bằng tên của các cột mà bạn muốn hiển thị. Nếu bạn nào biết về SQL thì cái này đơn giản lắm, cái này hướng dẫn kĩ thì chắc mình chịu rồi, nên tạm thời biết thế thôi nhé.

Sau khi dán đoạn mã này vào trang hay bài viết rồi thì các bạn xuất bản một cách bình thường và nó sẽ hiện lên dữ liệu dưới dạng bảng (table) cho bạn. Ở đây có một vấn đề nhỏ là cái phần tiêu đề của cột đó bình thường nó sẽ không có khoảng trắng, mình thì chịu không biết khắc phục nó nhé. Mọi thắc mắc gì cứ để lại comment ở dưới cho mình, nếu biết mình sẽ hỗ trợ :D

P/S: Bài viết này viết ẩu và hơi lủng nên có phần hơi khó hiểu mong các bạn bỏ qua.

1 bình luận:

  1. avatar says

    22:45 Ngày 26 tháng 01 năm 2016

    Kinh nghiệm của bạn thật phong phú, nó rất bổ ích. mình đang tập tành làm blog www.khoquarung.com Hỏi bạn có cách nào tạo trang đăng nhập cho khách hàng bằng blogspot không? lưu thông tin vào Google Spreadsheets và lấy ra như bạn nói, xác thực login. Nếu không có thể dùng 1 trang trung gian php kết nối CSDL được không? có nhiều người vào web mình mua hàng họ cứ điền thông tin tới lui, hơi phiền, nếu lưu trữ được thông tin có thể tích lũy điểm thưởng,...Bạn có cách nào không giúp mình với?

Mọi nhận xét trên blog KslZone.NET sẽ được kiểm duyệt trước khi được xuất bản trên blog. Lưu ý: Nếu bạn để lại backlink về website của bạn, miễn là kèm theo nhận xét hợp lý thì nhận xét đó vẫn sẽ được chấp nhận. Nếu bạn muốn hiện mã HTML thì bạn cần chuyển đổi trước bằng công cụ phía dưới.