Cara Mendapatkan Peringkat Goodreads melalui API
Untuk pecinta buku yang menyukai genre tertentu, mereka mungkin akan memeriksa rekomendasi teman daripada mengikuti daftar buku terlaris apa pun. Inilah sebabnya mengapa Amazon's Goodreads adalah situs yang ditandai untuk pembaca yang rajin. Ini adalah tempat di mana Anda dapat menemukan basis data buku, rekomendasi, dan ulasan yang luas dari sesama pecinta buku.
Goodreads juga menyediakan API untuk para pengembang mengakses datanya dan mempersonalisasikan lebih lanjut sesuai aplikasi kita. Hari ini kita akan melihat cara mengambil peringkat buku Goodreads melalui API Goodreads menggunakan ISBN atau Nomor Buku Standar Internasional, yang nantinya dapat digunakan saat menampilkan informasi buku dan semacamnya di situs web Anda.
Untuk memulai, masuk atau mendaftar dengan nama, id email dan kata sandi ke Goodreads dan pergi ke https://www.goodreads.com/api/keys (link). Masukkan nama aplikasi dan nama perusahaan apa saja dan buat kunci API Anda. Kemudian verifikasi akun Anda melalui email yang diterima dalam id email yang Anda masukkan.
Pastikan untuk memeriksa Ketentuan Layanan Pengembang untuk API. Mereka juga memiliki daftar metode API di halaman API mereka, beberapa metode tersebut akan memerlukan otentikasi OAuth, sisanya hanya akan perlu kunci pengembang, seperti yang akan kita lihat di posting ini.
Jenis respons dari metode tersebut bervariasi, hanya dalam XML atau JSON, atau opsi untuk memilih di antara keduanya menggunakan format
parameter.
book.review_counts
adalah metode API Goodreads yang akan mengambil semua statistik ulasan untuk daftar ISBN buku. Jenis tanggapannya adalah JSON. URL permintaannya seperti ini: https://www.goodreads.com/book/review_counts.json .
Dibutuhkan empat parameter:
kunci
, yang merupakan kunci pengembangisbns
- sebuah array atau string tunggal yang dipisahkan koma dari ISBN buku yang ingin kami tinjau statistiknyaformat
- format respons (walaupun dalam semua kejujuran, saya tidak begitu yakin mengapa yang ini ada, karena responsnya selalu di JSON. Rencana untuk implementasi di masa mendatang?)panggilan balik
, fungsi yang akan membungkus respons JSON
Mari kita ambil dua buku; Head First Java, Edisi pertama (ISBN: 0596009208) dan JavaScript: The Good Parts, edisi pertama (ISBN: 0596517742) dan dapatkan statistik ulasan mereka. URL permintaannya seperti ini:
https://www.goodreads.com/book/review_counts.json?key=apikey&isbns=0596009208,0596517742
Dan itu responseText
setelah kecantikan terlihat seperti ini.
"books": ["id": 231262, "isbn": "0596009208", "isbn13": "9780596009205", "ratings_count": 1842, "reviews_count": 3599, "text_reviews_count": 124, "work_ratings_count" : 2016, "work_reviews_count": 3943, "work_text_reviews_count": 136, "average_rating": "4.16", "id": 2998152, "isbn": "0596517742", "isbn13": "9780596517748", "ratings_count" : 4430, "reviews_count": 8921, "text_reviews_count": 363, "work_ratings_count": 4990, "work_reviews_count": 9821, "work_text_reviews_count": 381, "average_rating": "4,22"]
Jika Anda ingin peringkat Kepala Java Pertama, Edisi Pertama buku, ada di myJSON.books [0] .average_rating
. Itu ratings_count
dan reviews_count
kunci pada objek mewakili jumlah total pemeran yang diberikan dan ulasan yang dibuat untuk edisi buku tersebut.
Demikian pula , text_reviews_count
mewakili ulasan total teks saja dari edisi tertentu buku. Sedangkan work_ratings_count
, workribution_count
dan work_textribution_count
mewakili total peringkat, ulasan, dan ulasan hanya teks dari semua edisi.
Jika Anda mengklik Rincian Peringkat dari JavaScript: Bagian Yang Baik (Edisi 1) di Goodreads ini akan menampilkan ini.
Anda dapat menggunakan semua informasi ulasan tambahan tersebut jika Anda ingin atau hanya menampilkan peringkat bintang untuk buku yang menggunakan penilaian rata-rata
nilai kunci.
Catatan: Menurut dokumentasi API, “API Goodreads memberi Anda akses penuh ke meta-data yang dimiliki Goodreads, tetapi itu tidak memberi Anda akses penuh untuk memesan meta-data yang disediakan oleh pihak ketiga seperti Ingram. Gambar sampul buku, deskripsi, dan data lain dari sumber pihak ketiga mungkin dikecualikan, karena kami tidak memiliki lisensi untuk mendistribusikan data ini melalui API kami.”
Setelah menyiapkan sampul dan deskripsi buku, Anda dapat menampilkan info buku seperti di bawah ini.