Daftar Isi
Pengantar
Dokumen ini ditujukan untuk developer yang ingin menulis aplikasi yang dapat berinteraksi dengan Books API. Google Buku memiliki misi untuk mendigitalkan konten buku dunia dan membuatnya lebih mudah ditemukan di Web. Books API adalah cara untuk menelusuri dan mengakses konten tersebut, serta untuk membuat dan melihat personalisasi seputar konten tersebut.
Jika Anda tidak terbiasa dengan konsep Google Buku, sebaiknya baca Memulai sebelum mulai membuat kode.
Mengizinkan permintaan dan mengidentifikasi aplikasi Anda
Setiap permintaan yang dikirim aplikasi Anda ke Books API perlu mengidentifikasi aplikasi Anda ke Google. Ada dua cara untuk mengidentifikasi aplikasi Anda: menggunakan token OAuth 2.0 (yang juga mengizinkan permintaan) dan/atau menggunakan kunci API aplikasi. Berikut cara menentukan opsi yang akan digunakan:
- Jika permintaan memerlukan otorisasi (seperti permintaan data pribadi individu), aplikasi harus memberikan token OAuth 2.0 bersama permintaan tersebut. Aplikasi juga dapat menyediakan kunci API, tetapi tidak harus.
- Jika permintaan tidak memerlukan otorisasi (seperti permintaan data publik), aplikasi harus memberikan kunci API atau token OAuth 2.0, atau keduanya—opsi apa pun yang paling nyaman bagi Anda.
Tentang protokol otorisasi
Aplikasi Anda harus menggunakan OAuth 2.0 untuk mengizinkan permintaan. Tidak ada protokol otorisasi lain yang didukung. Jika aplikasi Anda menggunakan Login dengan Google, beberapa aspek otorisasi akan ditangani untuk Anda.
Mengizinkan permintaan dengan OAuth 2.0
Permintaan ke Books API untuk data pengguna non-publik harus diotorisasi oleh pengguna yang diautentikasi.
Detail proses otorisasi, atau "alur", untuk OAuth 2.0 bervariasi bergantung pada jenis aplikasi yang Anda tulis. Proses umum berikut berlaku untuk semua jenis aplikasi:
- Saat membuat aplikasi, Anda mendaftarkannya menggunakan Konsol Google API. Selanjutnya, Google menyediakan informasi yang akan Anda perlukan nanti, seperti ID klien dan rahasia klien.
- Aktifkan Books API di Konsol API Google. (Jika API tidak tercantum di Konsol API, lewati langkah ini.)
- Saat memerlukan akses ke data pengguna, aplikasi Anda akan meminta cakupan akses tertentu kepada Google.
- Google menampilkan layar izin kepada pengguna, yang meminta mereka mengizinkan aplikasi Anda untuk meminta beberapa data.
- Jika pengguna menyetujui, Google akan memberikan token akses berumur singkat ke aplikasi Anda.
- Aplikasi Anda meminta data pengguna, dengan menambahkan token akses ke permintaan.
- Jika Google menentukan bahwa permintaan Anda dan token tersebut valid, data yang diminta akan ditampilkan.
Beberapa alur mencakup langkah tambahan, seperti penggunaan token refresh untuk memperoleh token akses baru. Informasi selengkapnya tentang alur untuk berbagai jenis aplikasi dapat dilihat di dokumentasi OAuth 2.0 Google.
Berikut informasi cakupan OAuth 2.0 untuk Books API:
https://www.googleapis.com/auth/books
Untuk meminta akses menggunakan OAuth 2.0, aplikasi Anda memerlukan informasi cakupan, serta informasi yang disediakan oleh Google saat Anda mendaftarkan aplikasi (seperti ID klien dan rahasia klien).
Tips: Library klien Google API dapat menangani beberapa proses otorisasi secara otomatis. Library klien ini tersedia untuk berbagai bahasa pemrograman. Periksa halaman yang menjelaskan library beserta contohnya untuk mendapatkan informasi lebih mendetail.
Mendapatkan dan menggunakan kunci API
Permintaan ke Books API untuk data publik harus disertai dengan ID, yang dapat berupa kunci API atau token akses.
Untuk mendapatkan kunci API:
- Buka halaman Credentials di Konsol API.
-
API ini mendukung dua jenis kredensial.
Buat kredensial apa pun yang sesuai untuk project Anda:
-
OAuth 2.0: Setiap kali aplikasi meminta data pengguna pribadi, aplikasi harus mengirimkan token OAuth 2.0 beserta permintaannya. Aplikasi Anda mengirim client ID terlebih dahulu dan mungkin rahasia klien untuk mendapatkan token. Anda dapat membuat kredensial OAuth 2.0 untuk aplikasi web, akun layanan, atau aplikasi terinstal.
Untuk informasi selengkapnya, lihat dokumentasi OAuth 2.0.
-
Kunci API: Permintaan yang tidak memberikan token OAuth 2.0 harus mengirim kunci API. Kunci tersebut mengidentifikasi project Anda dan memberikan akses, kuota, dan laporan API.
API ini mendukung beberapa jenis pembatasan pada kunci API. Jika kunci API yang Anda butuhkan belum ada, buat kunci API di Console dengan mengklik Create credentials > API key. Anda dapat membatasi kunci sebelum menggunakannya dalam produksi dengan mengklik Restrict key dan memilih salah satu Restrictions.
-
Untuk menjaga keamanan kunci API Anda, ikuti praktik terbaik untuk menggunakan kunci API secara aman.
Setelah Anda memiliki kunci API, aplikasi Anda dapat menambahkan parameter kueri key=yourAPIKey
ke semua URL permintaan.
Kunci API aman untuk disematkan dalam URL; tidak memerlukan encoding.
ID Google Buku
Anda perlu menentukan kolom ID dengan panggilan metode API tertentu. Ada tiga jenis ID yang digunakan dalam Google Buku:
- ID Volume - String unik yang diberikan untuk setiap volume yang
diketahui oleh Google Buku. Contoh ID volume adalah
_LettPDhwR0C
. Anda dapat menggunakan API untuk mendapatkan ID volume dengan membuat permintaan yang menampilkan resource Volume; Anda dapat menemukan ID volume di kolomid
. - ID rak buku - Nilai numerik yang diberikan kepada rak buku di perpustakaan pengguna. Google menyediakan beberapa galeri standar untuk setiap pengguna dengan
ID berikut:
- Favorit: 0
- Dibeli: 1
- Untuk Dibaca: 2
- Membaca Sekarang: 3
- Sudah Dibaca: 4
- Ditinjau: 5
- Baru Dilihat: 6
- eBook Saya: 7
- Buku Untuk Anda: 8 Jika kami tidak memiliki rekomendasi untuk pengguna, rak ini tidak ada.
id
-nya. - ID Pengguna - Nilai numerik unik yang ditetapkan kepada setiap pengguna. Nilai ini belum tentu nilai ID yang sama dengan yang digunakan di layanan Google lainnya. Saat ini, satu-satunya cara untuk mengambil ID pengguna adalah dengan mengekstraknya dari SelfLink dalam resource Bookshelf yang diambil dengan permintaan yang diautentikasi. Pengguna juga dapat memperoleh ID pengguna mereka sendiri dari situs Buku. Pengguna tidak dapat mendapatkan ID pengguna untuk pengguna lain melalui API atau situs Buku; pengguna lainnya harus membagikan informasi tersebut secara eksplisit, misalnya melalui email.
ID di situs Google Buku
ID yang Anda gunakan dengan Books API adalah ID yang sama dengan yang digunakan di situs Google Books.
- ID Volume
Saat melihat volume tertentu di situs, Anda dapat menemukan ID volume dalam parameter URL
id
. Berikut contohnya:https://books.google.com/ebooks?id=buc0AAAAMAAJ&dq=holmes&as_brr=4&source=webstore_bookcard
- ID Rak Buku
Saat melihat rak buku tertentu di situs, Anda dapat menemukan ID rak buku di parameter URL
as_coll
. Berikut contohnya:https://books.google.com/books?hl=en&as_coll=0&num=10&uid=11122233344455566778&source=gbs_slider_cls_metadata_0_mylibrary
- ID Pengguna
Saat melihat library Anda di situs, Anda dapat menemukan User-ID di parameter URL
uid
. Berikut contohnya:https://books.google.com/books?uid=11122233344455566778&source=gbs_lp_bookshelf_list
Menetapkan Lokasi Pengguna
Google Buku menghormati hak cipta, kontrak, dan pembatasan hukum lainnya yang terkait dengan lokasi pengguna akhir. Akibatnya, beberapa pengguna mungkin tidak dapat mengakses konten buku dari negara tertentu. Misalnya, buku tertentu "previewable" hanya di Amerika Serikat; kami menghilangkan link pratinjau tersebut untuk pengguna di negara lain. Oleh karena itu, hasil API dibatasi berdasarkan alamat IP server atau aplikasi klien Anda.
Menangani volume
Menjalankan penelusuran
Anda dapat melakukan penelusuran volume dengan mengirimkan permintaan GET
HTTP ke URI berikut:
https://www.googleapis.com/books/v1/volumes?q=search+terms
Permintaan ini memiliki satu parameter yang diperlukan:
q
- Menelusuri volume yang berisi string teks ini. Ada kata kunci khusus yang dapat Anda tentukan dalam istilah penelusuran untuk menelusuri kolom tertentu, seperti:intitle:
Menampilkan hasil dengan teks yang mengikuti kata kunci ini ditemukan dalam judul.inauthor:
Menampilkan hasil tempat teks setelah kata kunci ini ditemukan di penulis.inpublisher:
Menampilkan hasil tempat teks setelah kata kunci ini ditemukan di penayang.subject:
Menampilkan hasil dengan teks yang mengikuti kata kunci ini dicantumkan dalam daftar kategori volume.isbn:
Menampilkan hasil dengan teks yang diikuti kata kunci ini berupa nomor ISBN.lccn:
Menampilkan hasil dengan teks yang mengikuti kata kunci ini adalah Nomor Kontrol Perpustakaan Kongres.oclc:
Menampilkan hasil dengan teks yang mengikuti kata kunci ini adalah nomor Pusat Perpustakaan Komputer Online.
Permintaan
Berikut adalah contoh penelusuran Daniel Keyes' "Bunga untuk Aljazair":
GET https://www.googleapis.com/books/v1/volumes?q=flowers+inauthor:keyes&key=yourAPIKey
Catatan: Melakukan penelusuran tidak memerlukan autentikasi, sehingga
Anda tidak perlu memberikan header HTTP Authorization
dengan
permintaan GET
. Namun, jika panggilan dilakukan dengan autentikasi, setiap Volume akan menyertakan informasi khusus pengguna, seperti status yang dibeli.
Tanggapan
Jika permintaan berhasil, server akan merespons dengan kode status HTTP 200 OK
dan hasil volume:
200 OK { "kind": "books#volumes", "items": [ { "kind": "books#volume", "id": "_ojXNuzgHRcC", "etag": "OTD2tB19qn4", "selfLink": "https://www.googleapis.com/books/v1/volumes/_ojXNuzgHRcC", "volumeInfo": { "title": "Flowers", "authors": [ "Vijaya Khisty Bodach" ], ... }, { "kind": "books#volume", "id": "RJxWIQOvoZUC", "etag": "NsxMT6kCCVs", "selfLink": "https://www.googleapis.com/books/v1/volumes/RJxWIQOvoZUC", "volumeInfo": { "title": "Flowers", "authors": [ "Gail Saunders-Smith" ], ... }, { "kind": "books#volume", "id": "zaRoX10_UsMC", "etag": "pm1sLMgKfMA", "selfLink": "https://www.googleapis.com/books/v1/volumes/zaRoX10_UsMC", "volumeInfo": { "title": "Flowers", "authors": [ "Paul McEvoy" ], ... }, "totalItems": 3 }
Parameter kueri opsional
Selain parameter kueri standar, Anda dapat menggunakan parameter kueri berikut saat melakukan penelusuran volume.
Format Download
Anda menggunakan parameter download
untuk membatasi hasil yang ditampilkan pada volume yang memiliki format download epub
yang tersedia dengan menetapkan
ke nilai epub
.
Contoh berikut menelusuri buku dengan download epub:
GET https://www.googleapis.com/books/v1/volumes?q=pride+prejudice&download=epub&key=yourAPIKey
Pemfilteran
Anda dapat menggunakan parameter filter
untuk membatasi hasil yang ditampilkan lebih lanjut dengan menetapkannya ke salah satu nilai berikut:
partial
- Menampilkan hasil dengan setidaknya bagian teks yang dapat dipratinjau.full
- Hanya menampilkan hasil jika semua teks terlihat.free-ebooks
- Hanya menampilkan hasil yang berupa eBook Google gratis.paid-ebooks
- Hanya menampilkan hasil yang berupa eBook Google dengan harga.ebooks
- Hanya menampilkan hasil yang berupa eBook Google, berbayar atau gratis. Contoh non-eBook adalah konten penerbit yang tersedia dalam pratinjau terbatas dan tidak dijual, atau majalah.
Contoh berikut membatasi hasil penelusuran pada hasil penelusuran yang tersedia sebagai eBook gratis:
GET https://www.googleapis.com/books/v1/volumes?q=flowers&filter=free-ebooks&key=yourAPIKey
Penomoran halaman
Anda dapat memberi nomor halaman pada daftar volume dengan menentukan dua nilai dalam parameter untuk permintaan tersebut:
startIndex
- Posisi dalam koleksi yang akan dimulai. Indeks item pertama adalah 0.maxResults
- Jumlah maksimum hasil yang akan ditampilkan. Nilai defaultnya adalah 10, dan nilai maksimum yang diizinkan adalah 40.
Jenis Pencetakan
Anda dapat menggunakan parameter printType
untuk membatasi hasil yang ditampilkan pada jenis cetak atau publikasi tertentu dengan menyetelnya ke salah satu nilai berikut:
all
- Tidak membatasi menurut jenis cetak (default).books
- Hanya menampilkan hasil yang berupa buku.magazines
- Menampilkan hasil yang merupakan majalah.
Contoh berikut membatasi hasil penelusuran untuk majalah:
GET https://www.googleapis.com/books/v1/volumes?q=time&printType=magazines&key=yourAPIKey
Proyeksi
Anda dapat menggunakan parameter projection
dengan salah satu nilai
berikut untuk menentukan kumpulan kolom Volume yang telah ditetapkan sebelumnya untuk ditampilkan:
full
- Menampilkan semua kolom Volume.lite
- Hanya menampilkan kolom tertentu. Lihat deskripsi kolom yang diberi tanda bintang ganda dalam Referensi volume untuk mengetahui kolom mana yang disertakan.
Contoh berikut menampilkan hasil penelusuran dengan informasi volume terbatas:
GET https://www.googleapis.com/books/v1/volumes?q=flowers&projection=lite&key=yourAPIKey
Pengurutan
Secara default, permintaan penelusuran volume menampilkan hasil maxResults
,
dengan maxResults
adalah parameter yang digunakan dalam penomoran halaman (di atas),
yang diurutkan berdasarkan relevansi dengan istilah penelusuran.
Anda dapat mengubah urutan dengan menetapkan parameter orderBy
menjadi salah satu nilai berikut:
relevance
- Menampilkan hasil dalam urutan relevansi istilah penelusuran (ini adalah defaultnya).newest
- Menampilkan hasil dari urutan yang terbaru hingga yang paling jarang dipublikasikan.
Contoh berikut mencantumkan hasil menurut tanggal publikasi, terbaru ke terlama:
GET https://www.googleapis.com/books/v1/volumes?q=flowers&orderBy=newest&key=yourAPIKey
Mengambil volume tertentu
Anda dapat mengambil informasi untuk volume tertentu dengan mengirimkan permintaan GET
HTTP ke URI resource Volume:
https://www.googleapis.com/books/v1/volumes/volumeId
Ganti parameter jalur volumeId
dengan ID volume yang akan diambil. Lihat bagian ID Google Buku untuk mengetahui informasi
selengkapnya tentang ID volume.
Permintaan
Berikut adalah contoh permintaan GET
yang mendapatkan satu volume:
GET https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC?key=yourAPIKey
Catatan: Mengambil informasi volume tidak memerlukan autentikasi, sehingga Anda tidak perlu memberikan header HTTP Authorization
dengan permintaan GET
. Namun, jika panggilan dilakukan dengan autentikasi, Volume akan menyertakan informasi khusus pengguna, seperti status yang dibeli.
Tanggapan
Jika permintaan berhasil, server akan merespons dengan kode status HTTP 200 OK
dan resource Volume diminta:
200 OK { "kind": "books#volume", "id": "zyTCAlFPjgYC", "etag": "f0zKg75Mx/I", "selfLink": "https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC", "volumeInfo": { "title": "The Google story", "authors": [ "David A. Vise", "Mark Malseed" ], "publisher": "Random House Digital, Inc.", "publishedDate": "2005-11-15", "description": "\"Here is the story behind one of the most remarkable Internet successes of our time. Based on scrupulous research and extraordinary access to Google, ...", "industryIdentifiers": [ { "type": "ISBN_10", "identifier": "055380457X" }, { "type": "ISBN_13", "identifier": "9780553804577" } ], "pageCount": 207, "dimensions": { "height": "24.00 cm", "width": "16.03 cm", "thickness": "2.74 cm" }, "printType": "BOOK", "mainCategory": "Business & Economics / Entrepreneurship", "categories": [ "Browsers (Computer programs)", ... ], "averageRating": 3.5, "ratingsCount": 136, "contentVersion": "1.1.0.0.preview.2", "imageLinks": { "smallThumbnail": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api", "thumbnail": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api", "small": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=2&edge=curl&source=gbs_api", "medium": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=3&edge=curl&source=gbs_api", "large": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=4&edge=curl&source=gbs_api", "extraLarge": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=6&edge=curl&source=gbs_api" }, "language": "en", "infoLink": "https://books.google.com/books?id=zyTCAlFPjgYC&ie=ISO-8859-1&source=gbs_api", "canonicalVolumeLink": "https://books.google.com/books/about/The_Google_story.html?id=zyTCAlFPjgYC" }, "saleInfo": { "country": "US", "saleability": "FOR_SALE", "isEbook": true, "listPrice": { "amount": 11.99, "currencyCode": "USD" }, "retailPrice": { "amount": 11.99, "currencyCode": "USD" }, "buyLink": "https://books.google.com/books?id=zyTCAlFPjgYC&ie=ISO-8859-1&buy=&source=gbs_api" }, "accessInfo": { "country": "US", "viewability": "PARTIAL", "embeddable": true, "publicDomain": false, "textToSpeechPermission": "ALLOWED_FOR_ACCESSIBILITY", "epub": { "isAvailable": true, "acsTokenLink": "https://books.google.com/books/download/The_Google_story-sample-epub.acsm?id=zyTCAlFPjgYC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api" }, "pdf": { "isAvailable": false }, "accessViewStatus": "SAMPLE" } }
Info Akses
Bagian accessInfo
sangat menarik dalam menentukan
fitur yang tersedia untuk eBook. epub
adalah eBook format
teks mengalir, bagian epub
akan memiliki
properti isAvailable
yang menunjukkan apakah jenis eBook ini tersedia.
Ini akan memiliki link download jika ada sampel untuk buku atau jika pengguna
dapat membaca buku karena telah membelinya atau karena menjadi domain
publik di lokasi pengguna. pdf
untuk buku Google menunjukkan
versi eBook yang dipindai dengan detail serupa seperti jika tersedia
dan link download. Google merekomendasikan file epub
untuk
eReader dan SmartPhone, karena halaman yang dipindai mungkin sulit dibaca di perangkat ini.
Jika tidak ada bagian accessInfo
, volume tidak tersedia sebagai
eBook Google.
Parameter kueri opsional
Selain parameter kueri standar, Anda dapat menggunakan parameter kueri berikut saat mengambil volume tertentu.
Proyeksi
Anda dapat menggunakan parameter projection
dengan salah satu nilai
berikut untuk menentukan kumpulan kolom Volume yang telah ditetapkan sebelumnya untuk ditampilkan:
full
- Menampilkan semua kolom Volume.lite
- Hanya menampilkan kolom tertentu. Lihat deskripsi kolom yang diberi tanda bintang ganda dalam Referensi volume untuk mengetahui kolom mana yang disertakan.
Contoh berikut menampilkan informasi volume terbatas untuk satu volume:
GET https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC?projection=lite&key=yourAPIKey
Bekerja dengan rak buku
Mengambil daftar rak buku publik milik pengguna
Anda dapat mengambil daftar rak buku publik pengguna dengan mengirimkan permintaan GET
HTTP ke URI dengan format berikut:
https://www.googleapis.com/books/v1/users/userId/bookshelves
Ganti parameter jalur userId dengan ID pengguna yang rak bukunya ingin Anda ambil. Lihat bagian ID Google Buku untuk mengetahui informasi selengkapnya tentang ID pengguna.
Permintaan
Berikut contohnya:
GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves&key=yourAPIKey
Karena pengguna tidak harus diautentikasi untuk mengambil informasi terkait
rak buku publik, Anda tidak perlu memberikan header HTTP Authorization
dengan permintaan GET
.
Tanggapan
Jika permintaan berhasil, server akan merespons dengan kode status HTTP 200 OK
dan daftar rak buku:
200 OK { "kind": "books#bookshelves", "items": [ { ... }, { "kind": "books#bookshelf", "id": 3, "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3", "title": "Reading now", "description": "", "access": "PUBLIC", "updated": "2011-02-02T20:34:20.146Z", "created": "2011-02-02T20:34:20.146Z", "volumeCount": 2, "volumesLastUpdated": "2011-02-02T20:34:20.110Z" }, ... ] }
Parameter kueri opsional
Anda dapat menggunakan parameter kueri standar saat mengambil daftar rak buku publik milik pengguna.
Mengambil rak buku publik tertentu
Anda dapat mengambil rak buku publik tertentu dengan mengirimkan permintaan GET
HTTP ke URI dengan format berikut:
https://www.googleapis.com/books/v1/users/userId/bookshelves/shelf
Ganti parameter jalur userId dan rak dengan ID yang menentukan pengguna dan rak buku yang ingin Anda ambil. Lihat bagian ID Google Buku untuk informasi selengkapnya.
Permintaan
Berikut contohnya:
GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3?key=yourAPIKey
Karena pengguna tidak harus diautentikasi untuk mengambil informasi terkait
rak buku publik, Anda tidak perlu memberikan header HTTP Authorization
dengan permintaan GET
.
Tanggapan
Jika permintaan berhasil, server akan merespons dengan kode status HTTP 200 OK
dan resource rak buku:
200 OK { "kind": "books#bookshelf", "id": 3, "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3", "title": "Reading now", "description": "", "access": "PUBLIC", "updated": "2011-02-02T20:34:20.146Z", "created": "2011-02-02T20:34:20.146Z", "volumeCount": 2, "volumesLastUpdated": "2011-02-02T20:34:20.110Z" }
Parameter kueri opsional
Anda dapat menggunakan parameter kueri standar saat mengambil rak buku publik tertentu.
Mengambil daftar volume di rak buku publik
Anda dapat mengambil daftar volume di rak buku publik milik pengguna dengan mengirimkan permintaan
GET
HTTP dengan format berikut:
https://www.googleapis.com/books/v1/user/userId/bookshelves/shelf/volumes
Permintaan
Berikut contohnya:
GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3/volumes?key=yourAPIKey
Ganti parameter jalur userId dan rak dengan ID yang menentukan pengguna dan rak buku yang ingin Anda ambil. Lihat bagian ID Google Buku untuk informasi selengkapnya.
Karena pengguna tidak harus diautentikasi untuk mengambil informasi terkait
rak buku publik, Anda tidak perlu memberikan header HTTP Authorization
dengan permintaan GET
.
Tanggapan
Jika permintaan berhasil, server akan merespons dengan kode status HTTP 200 OK
dan daftar rak buku pengguna:
200 OK { "kind": "books#volumes", "items": [ { "kind": "books#volume", "id": "AZ5J6B1-4BoC", "etag": "kIzQA7IUObk", "selfLink": "https://www.googleapis.com/books/v1/volumes/AZ5J6B1-4BoC", "volumeInfo": { "title": "The Girl Who Kicked the Hornet's Nest", "authors": [ "Stieg Larsson" ], "publisher": "Knopf", "publishedDate": "2010-05-25", ... }, { "kind": "books#volume", "id": "UvK1Slvkz3MC", "etag": "otKmdbRgdFQ", "selfLink": "https://www.googleapis.com/books/v1/volumes/UvK1Slvkz3MC", "volumeInfo": { "title": "The Girl who Played with Fire", "authors": [ "Stieg Larsson" ], "publisher": "Knopf", "publishedDate": "2009-07-28", ... }, { "kind": "books#volume", "id": "OBM3AAAAIAAJ", "etag": "xb47kTr8HsQ", "selfLink": "https://www.googleapis.com/books/v1/volumes/OBM3AAAAIAAJ", "volumeInfo": { "title": "The Sign of Four", "authors": [ "Sir Arthur Conan Doyle" ], "publishedDate": "1890", ... } ], "totalItems": 3 }
Parameter kueri opsional
Selain parameter kueri standar, Anda dapat menggunakan parameter kueri berikut saat mengambil daftar volume di rak buku publik.
Penomoran halaman
Anda dapat memberi nomor halaman pada daftar volume dengan menentukan dua nilai dalam parameter untuk permintaan tersebut:
startIndex
- Posisi dalam koleksi yang akan dimulai. Indeks item pertama adalah 0.maxResults
- Jumlah maksimum hasil yang akan ditampilkan. Nilai defaultnya adalah 10, dan nilai maksimum yang diizinkan adalah 40.
Bekerja dengan rak buku di "Perpustakaan Saya"
Semua "Koleksi Saya" permintaan berlaku untuk data pengguna yang diautentikasi.
Mengambil daftar rak buku saya
Anda dapat mengambil listingan semua rak buku pengguna yang diautentikasi dengan
mengirimkan permintaan GET
HTTP ke URI dengan format berikut:
https://www.googleapis.com/books/v1/mylibrary/bookshelves
Permintaan
Berikut contohnya:
GET https://www.googleapis.com/books/v1/mylibrary/bookshelves?key=yourAPIKey Authorization: /* auth token here */
Catatan: Pengguna harus diautentikasi untuk mengambil daftar rak buku "My Library". Jadi, Anda harus memberikan header HTTP Authorization
dengan
permintaan GET
.
Tanggapan
Jika permintaan berhasil, server akan merespons dengan kode status HTTP 200 OK
dan daftar semua rak buku untuk pengguna terautentikasi saat ini:
200 OK { "kind": "books#bookshelves", "items": [ { "kind": "books#bookshelf", "id": 0, "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/0", "title": "Favorites", "access": "PRIVATE", "updated": "2011-04-22T04:03:15.416Z", "created": "2011-04-22T04:03:15.416Z", "volumeCount": 0, "volumesLastUpdated": "2011-04-22T04:03:17.000Z" }, { "kind": "books#bookshelf", "id": 3, "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3", "title": "Reading now", "access": "PUBLIC", "updated": "2010-11-11T19:44:22.377Z", "created": "2010-11-11T19:44:22.377Z", "volumeCount": 1, "volumesLastUpdated": "2010-11-11T19:44:22.341Z" } ] }
Parameter kueri opsional
Anda dapat menggunakan parameter kueri standar saat mengambil daftar rak buku pengguna yang telah diautentikasi.
Mengambil daftar volume di rak buku saya
Anda dapat mengambil daftar volume di rak buku pengguna yang diautentikasi dengan
mengirim permintaan GET
HTTP ke URI dengan format berikut:
https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/volumes
Ganti parameter jalur rak dengan ID rak buku. Lihat bagian ID Google Buku untuk informasi selengkapnya tentang ID rak buku.
Permintaan
Berikut contohnya:
GET https://www.googleapis.com/books/v1/mylibrary/bookshelves/7/volumes?key=yourAPIKey Authorization: /* auth token here */
Catatan: Pengguna harus diautentikasi untuk mengambil listingan volume "My Library". Jadi, Anda harus memberikan header HTTP Authorization
dengan permintaan GET
.
Tanggapan
Jika permintaan berhasil, server akan merespons dengan kode status HTTP 200 OK
dan daftar volume rak buku:
200 OK { "kind": "books#volumes", "items": [ { "kind": "books#volume", "id": "AZ5J6B1-4BoC", "etag": "kIzQA7IUObk", "selfLink": "https://www.googleapis.com/books/v1/volumes/AZ5J6B1-4BoC", "volumeInfo": { "title": "The Girl Who Kicked the Hornet's Nest", "authors": [ "Stieg Larsson" ], "publisher": "Knopf", "publishedDate": "2010-05-25", ... }, { "kind": "books#volume", "id": "UvK1Slvkz3MC", "etag": "otKmdbRgdFQ", "selfLink": "https://www.googleapis.com/books/v1/volumes/UvK1Slvkz3MC", "volumeInfo": { "title": "The Girl who Played with Fire", "authors": [ "Stieg Larsson" ], "publisher": "Knopf", "publishedDate": "2009-07-28", ... }, { "kind": "books#volume", "id": "OBM3AAAAIAAJ", "etag": "xb47kTr8HsQ", "selfLink": "https://www.googleapis.com/books/v1/volumes/OBM3AAAAIAAJ", "volumeInfo": { "title": "The Sign of Four", "authors": [ "Sir Arthur Conan Doyle" ], "publishedDate": "1890", ... } ], "totalItems": 3 }
Parameter kueri opsional
Selain parameter kueri standar, Anda dapat menggunakan parameter kueri berikut saat mengambil daftar volume di salah satu rak buku pengguna yang telah diautentikasi.
Penomoran halaman
Anda dapat memberi nomor halaman pada daftar volume dengan menentukan dua nilai dalam parameter untuk permintaan tersebut:
startIndex
- Posisi dalam koleksi yang akan dimulai. Indeks item pertama adalah 0.maxResults
- Jumlah maksimum hasil yang akan ditampilkan. Nilai defaultnya adalah 10.
Menambahkan volume ke rak buku saya
Untuk menambahkan volume ke rak buku pengguna yang diautentikasi, kirim permintaan POST
HTTP ke URI dengan format berikut:
https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/addVolume
Ganti parameter jalur rak dengan ID rak buku. Lihat bagian ID Google Buku untuk informasi selengkapnya tentang ID rak buku.
Permintaan memiliki satu parameter kueri yang diperlukan:
volumeId
- ID volume. Lihat bagian ID Google Buku untuk mengetahui informasi selengkapnya tentang ID volume.
Permintaan
Berikut adalah contoh untuk menambahkan "Bunga untuk Aljazair" ke "Favorit" rak buku:
POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/addVolume?volumeId=NRWlitmahXkC&key=yourAPIKey Authorization: /* auth token here */ Content-Type: application/json Content-Length: CONTENT_LENGTH
Catatan: Pengguna harus diautentikasi untuk melakukan modifikasi pada
rak buku, jadi Anda harus memberikan header HTTP Authorization
dengan
permintaan POST
. Namun, tidak diperlukan data dengan
POST
ini.
Tanggapan
Jika permintaan berhasil, server akan merespons dengan kode status HTTP 204 No Content
.
Parameter kueri opsional
Anda dapat menggunakan parameter kueri standar saat menambahkan volume ke salah satu rak buku pengguna yang telah diautentikasi.
Menghapus volume dari rak buku saya
Untuk menghapus volume dari rak buku pengguna yang diautentikasi, kirim POST
HTTP ke URI dengan format berikut:
https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/removeVolume
Ganti parameter jalur rak dengan ID rak buku. Lihat bagian ID Google Buku untuk informasi selengkapnya tentang ID rak buku.
Permintaan memiliki satu parameter kueri yang diperlukan:
volumeId
- ID volume. Lihat bagian ID Google Buku untuk informasi selengkapnya tentang ID volume.
Permintaan
Berikut adalah contoh untuk menghapus "Bunga untuk Aljazair" dari "Favorit" rak buku:
POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/removeVolume?volumeId=NRWlitmahXkC&key=yourAPIKey Authorization: /* auth token here */ Content-Type: application/json Content-Length: CONTENT_LENGTH
Catatan: Pengguna harus diautentikasi untuk melakukan modifikasi pada
rak buku, jadi Anda harus memberikan header HTTP Authorization
dengan
permintaan POST
. Namun, tidak diperlukan data dengan
POST
ini.
Tanggapan
Jika permintaan berhasil, server akan merespons dengan kode status 204 No Content
.
Parameter kueri opsional
Anda dapat menggunakan parameter kueri standar saat menghapus volume dari salah satu rak buku pengguna yang telah diautentikasi.
Menghapus semua volume dari rak buku saya
Untuk menghapus semua volume dari rak buku pengguna yang diautentikasi, kirim
POST
HTTP ke URI dengan format berikut:
https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/clearVolumes
Ganti parameter jalur rak dengan ID rak buku. Lihat bagian ID Google Buku untuk informasi selengkapnya tentang ID rak buku.
Permintaan
Berikut adalah contoh untuk menghapus "Favorit" rak buku:
POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/clearVolumes?key=yourAPIKey Authorization: /* auth token here */ Content-Type: application/json Content-Length: CONTENT_LENGTH
Catatan: Pengguna harus diautentikasi untuk melakukan modifikasi pada
rak buku, jadi Anda harus memberikan header HTTP Authorization
dengan
permintaan POST
. Namun, tidak diperlukan data dengan
POST
ini.
Tanggapan
Jika permintaan berhasil, server akan merespons dengan kode status 204 No Content
.
Parameter kueri opsional
Anda dapat menggunakan parameter kueri standar saat menghapus semua volume dari salah satu rak buku pengguna yang telah diautentikasi.
Referensi parameter kueri
Parameter kueri yang dapat Anda gunakan dengan Books API dirangkum di bagian ini.Semua parameter value harus dienkode ke URL.
Parameter kueri standar
Parameter kueri yang berlaku untuk semua operasi Books API didokumentasikan di Parameter Sistem.
Parameter kueri khusus API
Parameter permintaan yang hanya berlaku untuk operasi tertentu di Books API dirangkum dalam tabel berikut.
Parameter | Arti | Catatan | Keberlakuan |
---|---|---|---|
download |
Batasi pada volume berdasarkan ketersediaan download. |
|
|
filter |
Memfilter hasil penelusuran menurut jenis volume dan ketersediaan. |
|
|
langRestrict |
Membatasi volume yang ditampilkan kepada pengguna yang diberi tag dengan bahasa yang ditentukan. |
|
|
maxResults |
Jumlah elemen maksimum yang akan ditampilkan dengan permintaan ini. |
|
|
orderBy |
Urutan hasil penelusuran volume. |
|
|
printType |
Batasi pada buku atau majalah. |
|
|
projection |
Membatasi informasi volume yang ditampilkan ke subset kolom. |
|
|
q |
String kueri teks lengkap. |
|
|
startIndex |
Posisi dalam koleksi tempat memulai daftar hasil. |
|
|
volumeId |
Mengidentifikasi volume yang terkait dengan permintaan. |
|