Dynamic Links

Tính năng Liên kết động của Google Sách cho phép bạn tạo các liên kết có thể tuỳ chỉnh, đáng tin cậy hơn tới Google Sách từ trang web của mình. Ví dụ: công cụ này cho phép bạn tạo đường liên kết "thông minh" chỉ xuất hiện khi sách nằm trong chỉ mục của chúng tôi hoặc hiển thị các đường liên kết cho người dùng biết có thể xem trước sách trên Google Sách hay không. Tính năng Liên kết động cũng cho phép bạn đưa hình thu nhỏ vào liên kết của bạn tới Google Sách. Tài liệu này nhằm cho phép bạn nhanh chóng thêm chức năng này vào trang web của mình.

Lưu ý: Tính năng này trước đây được gọi là API Khả năng xem sách.

Trình hướng dẫn xem trước là một công cụ được tạo phía trên Liên kết động giúp bạn dễ dàng liên kết đến các bản xem trước sách từ trang web chỉ bằng cách sao chép vài dòng mã. Tài liệu này dành cho các nhà phát triển thành thạo hơn muốn tuỳ chỉnh cách họ liên kết với Tìm kiếm Sách.

Nội dung

  1. Đối tượng người xem
  2. Các thuật ngữ khi tìm kiếm sách
  3. Giới thiệu
  4. Nguyên tắc sử dụng thương hiệu
  5. API phía máy khách
    1. Định dạng URL yêu cầu
    2. Định dạng kết quả JSON
  6. Chế độ đồng bộ và không đồng bộ
  7. Câu hỏi thường gặp
  8. Mã mẫu

Thẻ Đối tượng người xem

Tài liệu về liên kết động dành cho các lập trình viên muốn viết các ứng dụng web liên kết tới sách trong Google Sách. Tài liệu này giả định rằng bạn đã quen thuộc với giao thức HTTP và JavaScript cơ bản.

Thuật ngữ khi tìm kiếm sách

Google Sách tôn trọng các hạn chế về bản quyền tại địa phương của người dùng. Do đó, bản xem trước hoặc chế độ xem toàn bộ của một số cuốn sách sẽ không được cung cấp ở một số địa điểm. Khả năng xem được nhóm thành các lớp sau:

Chế độ xem toàn bộ
Người dùng có thể xem toàn bộ nội dung cuốn sách. Những cuốn sách này có thể nằm trong phạm vi công cộng.
Bản xem trước có giới hạn
Có thể xem được một phần của cuốn sách. Cuốn sách này có bản quyền và Google Sách đã được phép cho phép người dùng truy cập vào các trang này. Những cuốn sách này khác với những cuốn sách Xem đoạn trích ở chỗ người dùng có thể xem toàn bộ các trang.
Chế độ xem đoạn trích và không có bản xem trước
Người dùng sẽ chỉ thấy trang "Giới thiệu về sách". Tối đa, sách chỉ có các đoạn trích ngắn. Cuốn sách này chưa được quét hoặc vẫn có bản quyền và Google Sách chưa được phép hiển thị nhiều hơn một số "đoạn trích" liên quan đến cụm từ tìm kiếm của người dùng.

Giới thiệu

Tài liệu về Đường liên kết tĩnh mô tả một cách rất đơn giản để tạo URL đến một trang của một cuốn sách cụ thể trên Google Sách. Rất tiếc, đôi khi một cuốn sách cụ thể không có trong chỉ mục của Google Sách hoặc không có bản xem trước cho người dùng ở một vị trí địa lý cụ thể. Do Đường liên kết tĩnh "bị che khuất", nên đôi khi chúng không có tác dụng như dự kiến.

Đường liên kết động cung cấp một phương thức thay thế, có lập trình phía máy khách để truy vấn khả năng xem của một cuốn sách bằng JavaScript. Điều này cho phép bạn đưa các liên kết đáng tin cậy và dễ dự đoán hơn vào Tìm kiếm Sách, mang lại trải nghiệm nhất quán hơn cho người dùng của bạn. Vì khả năng xem thay đổi tuỳ theo vị trí của người dùng cuối, nên giao diện đường liên kết động không được thiết kế cho các truy vấn phía máy chủ hoặc truy vấn ngoại tuyến.

Để hiểu rõ vai trò của Đường liên kết động, hãy chuyển đến phần mã mẫu ở cuối tài liệu này.

Nguyên tắc sử dụng thương hiệu

Khi hiển thị Đường liên kết động, bạn phải tuân thủ các nguyên tắc ghi nhãn chi phối Nhóm Google Sách API. Cụ thể,

  • Bạn phải duy trì thông tin ghi nhận sự đóng góp và đường liên kết đến Google Sách.
  • Bạn chỉ được sử dụng nút Xem trước trên Google đã được phê duyệt khi liên kết đến bản xem trước trên Google Sách.
  • Mọi đường liên kết văn bản, nút, tài liệu hoặc văn bản mô tả đều phải tuân theo quy ước đặt tên đã được phê duyệt. Ví dụ: bạn không nên sử dụng những động từ "tải xuống" hoặc "đọc" khi liên kết đến bản xem trước trên Google Sách, vì bạn chỉ có thể tải toàn bộ các tác phẩm thuộc phạm vi công cộng xuống.

Ví dụ về xây dựng thương hiệu

Freakonomics: An Rogue Economist Khám phá mặt tiềm ẩn của mọi thứ
Tác giả: Steven Levitt và Stephen Dubner

Phần mẫu ở cuối tài liệu này cung cấp thêm các ví dụ tuân thủ các nguyên tắc sử dụng thương hiệu hiện tại.

API phía máy khách

Cốt lõi của đường liên kết động phía máy khách là một định dạng URL cho phép nhà phát triển tạo các URL yêu cầu thông tin về một hoặc nhiều cuốn sách và gửi yêu cầu đến Google Sách bằng thẻ <script>.

Ví dụ về cú pháp:
<script src="https://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback"></script>

Định dạng yêu cầu

Định dạng của URL này tương tự như cú pháp URL dùng để liên kết với sách, nhưng trường mã sách có thể chứa nhiều mã sách được phân tách bằng dấu phẩy và có thêm các thông số "jscmd" và "callback". Bạn có thể sử dụng các đối số bổ sung để kiểm soát bộ lọc khả năng xem (không bắt buộc).

Đường liên kết động hỗ trợ một số phương pháp nhận dạng sách: số ISBN, số OCLC và khoá LCCN. API cho phép truy vấn theo lô có kích thước lên đến kích thước tối đa của yêu cầu GET.

ISBN
&bibkeys=ISBN:0451526538 (API hỗ trợ cả ISBN 10 và 13.)
OCLC (Trung tâm Kiểm soát và Điều dưỡng)
&bibkeys=OCLC:36792831
LCCN (Mã số sản phẩm thương mại toàn cầu)
&bibkeys=LCCN:96072233

Định dạng kết quả JSON

Phản hồi từ lệnh gọi này sẽ là thông tin về các sách được yêu cầu được trả về dưới dạng một hoặc nhiều đối tượng JSON. Các đối tượng JSON sử dụng cấu trúc sau:

JsonSearchResult {
    string bib_key;
    string info_url;
    string preview_url;
    string thumbnail_url;
    string preview;
};

Các trường này cung cấp thông tin sau:

bib_key
Giá trị nhận dạng dùng để truy vấn cuốn sách này.
info_url
URL tới một trang trong Google Sách có thông tin về sách (trang giới thiệu về sách này).
preview_url
URL đến bản xem trước của cuốn sách, đưa người dùng đến thẳng trang bìa của cuốn sách. Nếu yêu cầu chỉ có bản xem trước của sách hoặc "Xem đoạn trích" thì sẽ không có URL xem trước nào được trả về.
thumbnail_url
URL đến hình thu nhỏ bìa sách.
bản xem trước
Một giá trị cho biết trạng thái xem của sách: full (đối với sách ở chế độ Xem toàn bộ), partial (đối với sách Xem trước có giới hạn) hoặc noview (đối với sách Trích đoạn hoặc Không có bản xem trước).
có thể nhúng
Giá trị boolean này là true nếu sách có thể được nhúng vào các trang của bên thứ ba bằng trình xem được nhúng trên tính năng Tìm kiếm sách.

Phản hồi là một đối tượng JSON có 2 trường "books" có giá trị là một bản đồ các đối tượng sách và "options" có chứa danh sách các tuỳ chọn được bật cho yêu cầu đó. Nếu không có tuỳ chọn nào được chỉ định, trường "options" có thể bị bỏ qua trong phản hồi. Ví dụ:

Request:
https://books.google.com/books?jscmd=viewapi&bibkeys=0596000278,00-invalid-isbn,ISBN0765304368,0439554934&callback=ProcessGBSBookInfo

Response:
ProcessGBSBookInfo({
    "0596000278":{
        "bib_key":"0596000278",
        "info_url":"https://books.google.com/books?id=ezqe1hh91q4C&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=ezqe1hh91q4C&printsec=frontcover&sig=zSQ5gwlX1NZl_24M86KS8Rbj33Q&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=ezqe1hh91q4C&pg=PR3&img=1&zoom=5&sig=bBmzIAIiCtMcM7Ii7TUHycqqEWg",
        "preview":"partial"
    },
    "ISBN0765304368":{
        "bib_key":"ISBN0765304368",
        "info_url":"https://books.google.com/books?id=gfg13CM_kU8C&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=gfg13CM_kU8C&printsec=frontcover&sig=jIrSb_SkcQRhy_VvtnKbTXjmvos&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=gfg13CM_kU8C&pg=PP1&img=1&zoom=5&sig=LsTwGVAsy_qWYMPM6HVDTPAMokg",
        "preview":"full"
    },
    "0439554934":{
        "bib_key":"0439554934",
        "info_url":"https://books.google.com/books?id=iwiYGwAACAAJ&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=iwiYGwAACAAJ&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=iwiYGwAACAAJ&printsec=frontcover&img=1&zoom=5&sig=_L6ySKDAs-8gNK28c3NyFdO22ZM",
        "preview":"noview"}
});

Sau đó, nhà phát triển có thể thay đổi nội dung và giao diện của trang web dựa trên kết quả JSON được truy xuất từ máy chủ GBS. Hiện tại, GBS không cung cấp thư viện để sửa đổi DOM nhằm thực hiện việc này.

Các thông số và trường bổ sung

jscmd
Yêu cầu gửi tới Google Sách.
số gọi lại
Tên của hàm JavaScript mà chúng ta truyền hàm trả về vào.

Chế độ đồng bộ và không đồng bộ

Chế độ không đồng bộ

Ở Chế độ không đồng bộ, nhà phát triển đặt thẻ <script> vào <head> của tài liệu và tạo URL bằng tất cả giá trị nhận dạng cần thiết để hiển thị trang. Dữ liệu được nhận từ cuộc gọi trong một biến. Việc này giúp thông tin trong sách có sẵn cho phần còn lại của tài liệu và có thể truy cập được ngay trong HTML và JavaScript.

Chế độ đồng bộ

Ở chế độ Đồng bộ, nhà phát triển sử dụng URL ở giữa <body> HTML; phản hồi được xử lý bằng cách sử dụng lệnh gọi lại JavaScript.

Câu hỏi thường gặp

Hỏi: Tôi có cần khoá API hoặc quyền khác để sử dụng đường liên kết động không?
Đáp: Bạn không cần khoá API hoặc yêu cầu uỷ quyền khác để sử dụng đường liên kết động. Để bắt đầu, bạn chỉ cần sao chép và dán một trong các ví dụ của chúng tôi rồi bắt đầu mày mò.
Hỏi: Có những trình duyệt không hỗ trợ JavaScript hoặc đã vô hiệu hoá JavaScript thì sao?
Đáp: Không có cách nào để kiểm tra xem Google Sách có sách hay không khi trình duyệt của người dùng chưa bật JavaScript. Bạn nên sử dụng cấu trúc liên kết tĩnh của Google Sách cho các trình duyệt không có JavaScript, nhưng hãy nhớ rằng bạn không thể biết trước liệu Google Sách có sách mà bạn đang liên kết đến hay không.
Hỏi: Tôi có thể tìm bao nhiêu cuốn sách cùng một lúc?
Đáp: Số lượng sách bạn có thể tìm kiếm chỉ bị giới hạn theo thời lượng yêu cầu GET. Trong Microsoft Internet Explorer, độ dài URL tối đa (2.083 ký tự) sẽ giới hạn độ dài của các yêu cầu GET.
Hỏi: Google Sách đang trả lại kết quả cho một cuốn sách vừa mới đây. Tại sao hiện tại trang không trả về kết quả?
Đáp: Vì các nhà phát triển thường đưa ra số lượng yêu cầu không điển hình, nên bạn có thể vô tình trả lại các biện pháp phòng ngừa bảo mật có trong Google Sách. Để kiểm tra xem điều này có xảy ra hay không, hãy xem nội dung đang được API trả về. Nếu đó là một yêu cầu điền vào hình ảnh xác thực, bạn đã đưa ra quá nhiều truy vấn. Bạn nên đăng nhập vào Google Sách rồi thử lại.
Hỏi: Bảo mật thì sao?
Đáp: Khi trả lời truy vấn về khả năng xem sách, Google nhận được dữ liệu nhật ký của máy chủ không nhận dạng cá nhân. Chúng tôi rất coi trọng quyền riêng tư của người dùng và xử lý dữ liệu này như được mô tả trong Chính sách quyền riêng tư của chúng tôi. Nếu đang cung cấp cho người dùng một dịch vụ có bao gồm khả năng xem sách, bạn nên cho người dùng biết rằng dịch vụ của bạn cũng gửi truy vấn cho Google thông qua đường liên kết động.

Mã mẫu

Phần này cung cấp các mẫu minh hoạ những cách sử dụng Đường liên kết động. Bạn có thể nhấp vào một ví dụ bất kỳ để xem ví dụ thực tế. Để xem mã cơ bản, hãy "xem nguồn" trên trình duyệt của bạn.

  • Nút Xem trước cho một trang sách
    Nếu bạn định sử dụng Đường liên kết động để thêm nút "xem trước" vào từng trang sách trên trang web của mình, thì đây chính là ví dụ dành cho bạn. Quá trình triển khai này sử dụng lệnh gọi đồng bộ đến Google Sách.
  • Danh sách đọc khoá học
    Ví dụ này hiển thị một danh mục sách điển hình của một khoá học học thuật. Chúng tôi sử dụng một lệnh gọi đồng bộ để liên kết tới các trang sách trên Google Sách, thêm ảnh bìa và cho biết khả năng xem trước.
  • Danh mục sách thay thế
    Tương tự như ví dụ trước, mẫu này thêm đường liên kết vào tính năng Tìm kiếm sách bằng cách sử dụng lệnh gọi lại API không đồng bộ.
  • AJAX tương tác
    Bạn có thể quan tâm đến việc sử dụng Đường liên kết động trong một ứng dụng AJAX có tính tương tác cao. Ví dụ này cho thấy cách thực hiện số lượng lệnh gọi khác nhau mà không cần làm mới trang.