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 đường liên kết đáng tin cậy, có thể tùy chỉnh hơn đến Google Sách từ trang web của bạn. Ví dụ: công cụ này cho phép bạn tạo "smart" các đường liên kết chỉ xuất hiện khi một cuốn sách nằm trong chỉ mục của chúng tôi hoặc hiển thị những đường liên kết cho người dùng biết liệu một cuốn sách có thể được xem trước 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 đường liên kết của mình tới Google Sách. Tài liệu này nhằm giúp bạn nhanh chóng thêm được 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 của sách.

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

Nội dung

  1. Đối tượng người xem
  2. Thuật ngữ của 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ề đường liên kết động dành cho những lập trình viên muốn viết ứng dụng web liên kết đến 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ữ của 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 đó, người dùng sẽ không thể xem trước hoặc xem toàn bộ một số cuốn sách ở 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ộ
Toàn bộ cuốn sách đều xem được. Những cuốn sách này có thể thuộc phạm vi công cộng.
Xem trước có giới hạn
Một phần sách có thể xem. Sách này đang được bảo vệ bản quyền và Google Sách đã được cấp phép để người dùng có thể truy cập những trang này. Những cuốn sách này khác với những cuốn sách có hỗ trợ Chế độ xem đoạn trích ở chỗ người dùng có thể xem toàn bộ trang.
Xem một số câu liên quan và không có đoạn xem trước
Người dùng chỉ thấy "Giới thiệu về sách" Bạn chỉ có thể sử dụng tối đa một đoạn trích ngắn trong sách. Sách này chưa được quét hoặc đang được bảo vệ bản quyền và Google Sách chưa được cấp quyền để hiển thị nhiều hơn một vài "đ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 tới một trang cụ thể của sách trên Google Sách. Rất tiếc, đôi khi trường hợp của một cuốn sách cụ thể không nằm trong chỉ mục của Google Sách hoặc một bản xem trước không được cung cấp cho người dùng ở một vị trí địa lý cụ thể. Bởi vì các Liên kết tĩnh sẽ bị chặn và " đô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 sách bằng JavaScript. Cách này giúp bạn cung cấp các đường liên kết ổn định và dễ dự đoán hơn cho tính năng Tìm kiếm sách, nhờ đó mang lại trải nghiệm nhất quán hơn cho người dùng. Bởi vì khả năng xem thay đổi theo vị trí của người dùng cuối, nên giao diện liên kết động không được thiết kế cho truy vấn phía máy chủ hoặc ngoại tuyến.

Để biết liên kết động có thể làm gì, hãy chuyển đến phần mẫu mã ở 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ủ nguyên tắc xây dựng thương hiệu áp dụng cho Nhóm API Google Sách. Cụ thể,

  • Bạn phải duy trì mô hình phân bổ 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 thủ quy ước đặt tên đã được phê duyệt. Ví dụ: bạn không nên sử dụng các động từ "download" hoặc "read" khi liên kết đến bản xem trước của Google Sách, vì chỉ có thể tải xuống toàn bộ tác phẩm thuộc phạm vi công cộng.

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

Freakonomics: Một nhà kinh tế giả mạo khám phá khía cạnh ẩ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 ví dụ tuân thủ các nguyên tắc ghi nhãn hiện tại.

API phía máy khách

Cốt lõi của liên kết động phía máy khách là định dạng URL cho phép nhà phát triển tạo URL yêu cầu thông tin về một hoặc nhiều 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 URL tương tự như cú pháp URL dùng để liên kết đến 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ố <39;jscmd\39; và &hl=vi&call3&; Bạn có thể chọn các đối số bổ sung để kiểm soát các bộ lọc khả năng xem.

Liên kết động hỗ trợ nhiều phương thức để xác định sách: ISBN, số OCLC và khoá LCCN. API này cho phép các truy vấn theo lô có kích thước tối đa của kích thước tối đa của một yêu cầu GET.

ISBN
&bibkeys=ISBN:0451526538 (API hỗ trợ cả ISBN 10 và 13.)
OCLC (OCC)
&bibkeys=OCLC:36792831
LCCN (LCCN)
&bibkeys=LCCN:96072233

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

Nội dung phản hồi từ cuộc gọi này sẽ là thông tin về sách được yêu cầu trả về dưới dạng một hoặc nhiều đối tượng JSON. Đố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;
};

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

khóa_bi
Giá trị nhận dạng dùng để truy vấn sách này.
info_url
URL đến một trang trong Google Sách có thông tin về cuốn sách đó (trang giới thiệu về sách này).
xem trước_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 chỉ có Chế độ xem đoạn trích hoặc Không có sách xem trước cho một yêu cầu, thì sẽ không có URL xem trước nào được trả lại.
hình thu nhỏ_url
URL đến hình thu nhỏ của bìa sách.
bản xem trước
Giá trị cho biết trạng thái xem của sách: full (đối với sá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 Đoạn trích hoặc Không có sách xem trước).
có thể nhúng
Giá trị boolean này là true nếu có thể nhúng sách vào các trang của bên thứ ba bằng trình xem được nhúng của Tìm kiếm sách.

Phản hồi là một đối tượng JSON có hai trường: "books" có giá trị bản đồ đối tượng sách và "options" chứa danh sách các tuỳ chọn được bật cho yêu cầu đó. Nếu không có tùy chọn nào được chỉ định, thì 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. Tại thời điểm này, GBS chưa cung cấp thư viện để sửa đổi DOM nhằm thực hiện việc này.

Thông số và trường bổ sung

jscmd
Yêu cầu gửi đến Google Sách.
cuộc gọi lại
Tên của hàm JavaScript mà chúng ta trả về.

Chế độ đồng bộ so với chế độ 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 với tất cả các giá trị nhận dạng cần thiết để hiển thị trang. Dữ liệu nhận được từ lệnh gọi trong một biến. Thao tác này giúp thông tin của sách có sẵn cho phần còn lại của tài liệu và bạn có thể truy cập ngay vào HTML và JavaScript.

Chế độ đồng bộ

Ở Chế độ đồng bộ, nhà phát triển sử dụng URL ở giữa HTML <body>; 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 khóa API hoặc quyền khác để sử dụng đường liên kết động không?
Đáp: Không cần khoá API hay uỷ quyền nào 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 chỉnh sửa.
Hỏi: Những trình duyệt không hỗ trợ JavaScript hoặc tắt 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 biết trước được liệu Google Sách có liên kết đến cuốn sách đó hay không.
Hỏi: Tôi có thể tìm kiếm bao nhiêu cuốn sách cùng 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 của các yêu cầu GET. Trong Microsoft Internet Explorer, độ dài URL tối đa (2.083 ký tự) giới hạn độ dài của yêu cầu GET.
Hỏi: Google Sách đã trả về kết quả cho một cuốn sách chỉ cách đây không lâu. Tại sao bây giờ Google không trả về kết quả?
Đáp: Vì nhà phát triển thường đưa ra một số lượng yêu cầu không điển hình, nên bạn có thể vô tình đưa ra 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ó đang xảy ra hay không, hãy xem nội dung mà API trả về. Nếu đó là yêu cầu điền hình ảnh xác thực (captcha), thì tức là 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: Quyền riêng tư thì sao?
Đáp: Khi trả lời truy vấn khả năng xem sách, Google sẽ nhận được dữ liệu nhật ký về 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ó khả năng xem sách, thì bạn nên cho người dùng biết rằng dịch vụ đó cũng gửi các truy vấn tới Google thông qua các đường liên kết động.

Mã mẫu

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

  • 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 "preview" nút cho từng trang sách trên trang web của mình, thì đây là ví dụ dành cho bạn. Cách 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 trình bày danh mục sách điển hình cho một khoá học. Chúng tôi sử dụng một lệnh gọi đồng bộ để liên kết đến các trang sách trên Google Sách, thêm ảnh bìa và cho biết tính 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 đến Tìm kiếm sách bằng cách sử dụng lệnh gọi lại API không đồng bộ.
  • JavaScript tương tác
    Bạn có thể muốn sử dụng Liên kết động trong một ứng dụng AJAX tương tác cao. Ví dụ này cho thấy cách thực hiện một số lệnh gọi mà không làm mới trang.