Dynamic Links

Fitur Dynamic Links Google Buku memungkinkan Anda membuat link yang lebih dapat disesuaikan dan andal ke Google Buku dari situs Anda. Misalnya, alat ini memungkinkan Anda menghasilkan link "cerdas" yang hanya muncul saat buku ada dalam indeks kami, atau menampilkan link yang menunjukkan kepada pengguna apakah buku dapat dipratinjau di Google Buku. Fitur Dynamic Links juga memungkinkan Anda menyertakan gambar thumbnail dalam link Anda ke Google Buku. Dokumen ini dimaksudkan agar Anda dapat menambahkan fungsi ini ke situs Anda dengan cepat.

Catatan: Fitur ini sebelumnya dikenal sebagai Book Visibilitas API.

Wizard Pratinjau adalah alat yang dibuat di Dynamic Links yang mempermudah penautan ke pratinjau buku dari situs hanya dengan menyalin beberapa baris kode. Dokumen ini ditujukan untuk pengembang yang lebih mahir yang ingin menyesuaikan cara mereka menautkan ke Penelusuran Buku.

Daftar Isi

  1. Penonton
  2. Terminologi Penelusuran Buku
  3. Pengantar
  4. Pedoman branding
  5. API Sisi Klien
    1. Format URL permintaan
    2. Format hasil JSON
  6. Mode sinkron dan asinkron
  7. Pertanyaan umum (FAQ)
  8. Contoh kode

Audiens

Dokumentasi link dinamis ditujukan untuk programmer yang ingin menulis aplikasi web yang ditautkan ke buku-buku dalam Google Buku. Dokumentasi ini mengasumsikan bahwa Anda memahami protokol HTTP dan JavaScript dasar.

Terminologi Penelusuran Buku

Google Buku menghormati pembatasan hak cipta lokal milik pengguna, dan akibatnya, pratinjau atau tampilan lengkap beberapa buku tidak tersedia di semua lokasi. Visibilitas dikelompokkan ke dalam class berikut:

Layar Penuh
Seluruh buku dapat dilihat. Buku-buku ini mungkin berada di domain publik.
Pratinjau Terbatas
Sebagian buku dapat dilihat. Buku ini dilindungi hak cipta dan Google Buku telah menerima izin agar halaman ini dapat diakses pengguna. Buku ini berbeda dengan buku Tampilan Cuplikan, yang mana pengguna dapat melihat seluruh halaman.
Tampilan Cuplikan dan Tanpa Pratinjau
Pengguna hanya melihat halaman "Tentang buku ini". Maksimal, hanya cuplikan singkat dari buku yang tersedia. Buku ini belum dipindai, atau dilindungi hak cipta dan Google Buku belum menerima izin untuk menampilkan lebih dari beberapa "cuplikan" yang terkait dengan istilah penelusuran pengguna.

Pengantar

Dokumentasi Link Statis menjelaskan cara yang sangat sederhana untuk membuat URL ke halaman buku tertentu di Google Buku. Sayangnya, terkadang buku tertentu tidak ada dalam indeks Google Buku, atau pratinjau tidak tersedia untuk pengguna di lokasi geografis tertentu. Karena Link Statis bersifat "buta", terkadang link ini gagal memberikan efek yang diinginkan.

Dynamic Links menyediakan metode alternatif sisi klien terprogram untuk mengkueri visibilitas buku menggunakan JavaScript. Hal ini memungkinkan Anda untuk menyertakan tautan yang lebih andal dan dapat diprediksi ke Penelusuran Buku, sehingga menghasilkan pengalaman yang lebih konsisten bagi pengguna Anda. Karena visibilitas bervariasi sesuai dengan lokasi pengguna akhir, antarmuka link dinamis tidak dirancang untuk kueri sisi server atau offline.

Untuk mengetahui apa saja yang dapat dilakukan Dynamic Links, langsung buka contoh kode di bagian akhir dokumen ini.

Pedoman branding

Saat merender Dynamic Links, Anda harus mematuhi pedoman branding yang mengatur Rangkaian Google Books API. Secara khusus, kita akan membuat

  • Anda harus mempertahankan atribusi dan link ke Google Buku.
  • Anda hanya boleh menggunakan tombol Pratinjau Google yang disetujui saat menautkan ke pratinjau di Google Buku.
  • Setiap link teks, tombol, dokumentasi, atau teks deskriptif harus mematuhi konvensi penamaan yang disetujui. Misalnya, Anda tidak boleh menggunakan kata kerja "download" atau "read" saat menautkan ke pratinjau Google Buku, karena hanya karya domain publik yang dapat didownload secara keseluruhan.

Contoh branding

Freakonomics: An Rogue Economist Mempelajari Sisi Tersembunyi dari Segalanya
Oleh Steven Levitt dan Stephen Dubner

Bagian contoh di akhir dokumen ini memberikan contoh tambahan yang sesuai dengan pedoman branding saat ini.

API sisi klien

Inti dari link dinamis sisi klien adalah format URL yang memungkinkan developer membuat URL yang meminta informasi tentang satu atau beberapa buku dan mengirim permintaan ke Google Buku menggunakan tag <script>.

Contoh Sintaksis:
<script src="https://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback"></script>

Format permintaan

Format URL ini mirip dengan sintaksis URL yang digunakan untuk menautkan ke buku, tetapi kolom ID buku dapat berisi beberapa ID buku yang dipisahkan koma dan terdapat parameter 'jscmd' dan 'callback' tambahan. Secara opsional, argumen tambahan dapat muncul untuk mengontrol filter visibilitas.

Dynamic Links mendukung beberapa metode yang berbeda untuk mengidentifikasi buku: ISBN, nomor OCLC, dan kunci LCCN. API ini memungkinkan kueri batch hingga sebesar ukuran maksimum permintaan GET.

ISBN
&bibkeys=ISBN:0451526538 (API mendukung ISBN 10 dan 13.)
OLC
&bibkeys=OCLC:36792831
LCCN
&bibkeys=LCCN:96072233

Format hasil JSON

Respons dari panggilan ini akan berupa informasi tentang buku yang diminta yang ditampilkan sebagai satu atau beberapa objek JSON. Objek JSON menggunakan struktur berikut:

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

Kolom ini memberikan informasi berikut:

bib_key
ID yang digunakan untuk membuat kueri buku ini.
info_url
URL ke halaman dalam Google Buku dengan informasi buku (halaman tentang buku ini).
preview_url
URL ke pratinjau buku, yang mengarahkan pengguna langsung ke sampul buku. Jika hanya Tampilan Cuplikan atau Tidak Ada buku Pratinjau yang tersedia untuk permintaan, tidak ada URL pratinjau yang akan ditampilkan.
thumbnail_url
URL ke thumbnail sampul buku.
pratinjau
Nilai yang menunjukkan status visibilitas buku: full (untuk buku dengan Tampilan Lengkap), partial (untuk buku Pratinjau Terbatas), atau noview (untuk buku Cuplikan atau Tanpa Pratinjau).
dapat disematkan
Boolean ini bernilai true jika buku dapat disematkan ke halaman pihak ketiga menggunakan penampil tersemat Penelusuran Buku.

Responsnya adalah objek JSON dengan dua kolom, "books" yang memiliki nilai peta objek buku dan "options" yang berisi daftar opsi yang diaktifkan untuk permintaan tersebut. Jika tidak ada opsi yang ditentukan, kolom "options" dapat dihilangkan dalam respons. Contoh:

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"}
});

Kemudian, developer dapat mengubah konten dan tampilan halaman web mereka berdasarkan hasil JSON yang diambil dari server GBS. Saat ini, GBS tidak menyediakan library untuk memodifikasi DOM untuk melakukannya.

Parameter dan kolom tambahan

{i>jscmd<i}
Permintaan ke Google Buku.
callback
Nama fungsi JavaScript yang menjadi tujuan penerusan hasil.

Mode sinkron vs. asinkron

Mode asinkron

Dalam Mode Asinkron, developer menempatkan tag <script> di bagian <head> dokumen dan membuat URL dengan semua ID yang diperlukan untuk merender halaman. Data diterima dari panggilan dalam variabel. Tindakan ini membuat informasi buku tersedia untuk bagian lain dalam dokumen dan dapat langsung diakses dalam HTML dan JavaScript.

Mode sinkron

Dalam mode Sinkron, developer menggunakan URL di tengah <body> HTML; respons ditangani menggunakan callback JavaScript.

Pertanyaan umum (FAQ)

T: Apakah saya memerlukan kunci API atau izin lainnya untuk menggunakan link dinamis?
A: Tidak ada kunci API atau otorisasi lainnya yang diperlukan untuk menggunakan link dinamis. Untuk memulai, cukup salin dan tempel salah satu contoh kami dan mulailah mengutak-atik.
T: Bagaimana dengan browser yang tidak mendukung JavaScript atau telah menonaktifkannya?
J: Tidak ada cara untuk menguji apakah Google Buku memiliki buku saat browser pengguna tidak mengaktifkan JavaScript. Sebaiknya gunakan struktur link statis Google Buku untuk browser tanpa JavaScript, tetapi ingat bahwa Anda tidak dapat mengetahui terlebih dahulu apakah Google Buku memiliki buku yang Anda tautkan.
T: Berapa banyak buku yang dapat saya telusuri sekaligus?
A: Jumlah buku yang dapat Anda telusuri hanya dibatasi oleh panjang permintaan GET. Di Microsoft Internet Explorer, panjang URL maksimum (2.083 karakter) membatasi panjang permintaan GET.
T: Google Buku menampilkan hasil sebuah buku beberapa saat yang lalu. Mengapa hasil penelusuran tidak ditampilkan sekarang?
J: Karena developer sering mengeluarkan permintaan dalam jumlah yang tidak biasa, Anda mungkin tidak sengaja memberikan tips terkait tindakan pencegahan keamanan yang ditemukan di Google Buku. Untuk memeriksa apakah hal ini terjadi, lihat apa yang ditampilkan oleh API. Jika merupakan permintaan untuk mengisi captcha, Anda telah mengeluarkan terlalu banyak kueri. Sebaiknya login ke Google Buku dan coba lagi.
T: Bagaimana dengan privasi?
J: Saat menjawab kueri terkait visibilitas buku, Google menerima data log server yang tidak dapat diidentifikasi secara pribadi. Kami menangani privasi pengguna dengan serius dan menangani data ini sebagaimana dijelaskan dalam Kebijakan Privasi kami. Jika Anda memberikan layanan yang menyertakan visibilitas buku kepada pengguna, Anda mungkin ingin memberi tahu pengguna bahwa layanan Anda juga mengirimkan kueri ke Google melalui link dinamis.

Contoh kode

Bagian ini menyediakan contoh yang menggambarkan berbagai cara untuk menggunakan Dynamic Links. Anda dapat mengklik contoh apa pun untuk melihat cara kerjanya. Untuk melihat kode yang mendasarinya, "lihat sumber" dari browser Anda.

  • Tombol pratinjau untuk halaman buku
    Jika Anda ingin menggunakan Dynamic Links untuk menambahkan tombol "pratinjau" ke setiap halaman buku di situs, contoh ini adalah contoh untuk Anda. Implementasi ini menggunakan panggilan sinkron ke Google Buku.
  • Daftar bacaan kursus
    Contoh ini menunjukkan daftar buku standar untuk kursus akademik. Kami menggunakan satu panggilan sinkron untuk menautkan halaman buku di Google Buku, menambahkan gambar sampul, dan menunjukkan ketersediaan pratinjau.
  • Daftar buku alternatif
    Mirip dengan contoh sebelumnya, contoh ini menambahkan link ke Penelusuran Buku menggunakan callback API asinkron.
  • AJAX Interaktif
    Anda mungkin tertarik menggunakan Dynamic Links dalam aplikasi AJAX yang sangat interaktif. Contoh ini menunjukkan cara melakukan sejumlah panggilan yang berbeda tanpa memuat ulang halaman.