Hoe u Goodreads-beoordelingen kunt verkrijgen via API
Voor boekenliefhebbers die een voorkeur hebben voor een specifiek genre, zullen ze waarschijnlijk de aanbeveling van een vriend bekijken dan een lijst met bestsellers te volgen. Dit is de reden waarom Amazon's Goodreads een site is met bladwijzers voor enthousiaste lezers. Het is een plaats waar je een uitgebreide database met boeken, aanbevelingen en recensies kunt vinden door boekliefhebbers.
Goodreads biedt ook een API voor ontwikkelaars om toegang tot zijn gegevens en verder personaliseren het als per onze toepassing. Vandaag zullen we zien hoe we GoodReads-boekbeoordelingen kunnen ophalen via de Goodreads API met behulp van het ISBN- of International Standard Book Number, dat later kan worden gebruikt terwijl boekinformatie en dergelijke op uw website wordt weergegeven.
Om te beginnen, log in of log in met een naam, e-mailadres en wachtwoord voor Goodreads en ga naar https://www.goodreads.com/api/keys (link). Voer een naam en bedrijfsnaam in en genereer uw API-sleutel. Verifieer vervolgens uw account via de e-mail die u hebt ontvangen in het e-mailadres dat u hebt ingevoerd.
Raadpleeg de Servicevoorwaarden voor ontwikkelaars voor de API. Ze hebben ook een lijst met API-methoden op hun API-pagina. Sommige van die methoden vereisen OAuth-authenticatie, de rest alleen heb de ontwikkelaarssleutel nodig, zoals die we zullen bekijken in deze post.
Het antwoordtype van die methoden varieert, het is alleen in XML of JSON, of een optie om tussen deze twee te kiezen met behulp van de formaat
parameter.
book.review_counts
is een Goodreads API-methode die alle beoordelingsstatistieken voor een lijst met boek-ISBN's ophaalt. Het antwoordtype is JSON. De aanvraag-URL is als volgt: https://www.goodreads.com/book/review_counts.json .
Er zijn vier parameters nodig:
sleutel
, wat de ontwikkelaarssleutel isISBN
- een matrix of enkele door komma's gescheiden string van de ISBN's van de boeken waarnaar we de beoordelingsstatistieken van willenformaat
- het formaat van de reactie (hoewel ik eerlijk gezegd niet echt zeker weet waarom deze bestaat, omdat de reactie altijd in JSON zal zijn. Plannen voor toekomstige implementaties?)Bel terug
, de functie die het JSON-antwoord afrondt
Laten we de twee boeken nemen; Head First Java, First edition (ISBN: 0596009208) en JavaScript: The Good Parts, 1e editie (ISBN: 0596517742) en ontvang hun beoordelingsstatistieken. De verzoek-URL is als volgt:
https://www.goodreads.com/book/review_counts.json?key=apikey&isbns=0596009208,0596517742
En de responseText
na het verfraaien ziet dit er zo uit.
"books": ["id": 231262, "isbn": "0596009208", "isbn13": "9780596009205", "ratings_count": 1842, "beoordelingen_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", "beoordelingen_count" : 4430, "beoordelingen_count": 8921, "text_reviews_count": 363, "work_ratings_count": 4990, "work_reviews_count": 9821, "work_text zelfstandige_count": 381, "average_rating": "4.22"]
Als u de beoordeling van de Head First Java, First Edition boek, het is binnen myJSON.books [0] .average_rating
. De ratings_count
en reviews_count
De sleutels in de objecten vertegenwoordigen het totale aantal beoordelingen en beoordelingen voor die specifieke editie van het boek.
evenzo , text_reviews_count
vertegenwoordigt de totale tekst-alleen beoordelingen van de specifieke editie van het boek. Terwijl work_ratings_count
, work_reviews_count
en work_text_reviews_count
vertegenwoordigen de totale beoordelingen, recensies en alleen-tekstrecensies van alle edities.
Als u op Beoordelingsdetails van klikt JavaScript: The Good Parts (1e editie) in Goodreads zal dit worden weergegeven.
U kunt al die extra recensie-informatie gebruiken als u dat wilt, of u kunt gewoon een sterbeoordeling voor het boek weergeven met behulp van de gemiddelde score
sleutel waarde.
Notitie: Volgens de API-documentatie, “De Goodreads API geeft u volledige toegang tot metadata van Goodreads, maar u hebt geen volledige toegang tot metagegevens van boeken die door derden zijn geleverd, zoals Ingram. Boekafbeeldingen, beschrijvingen en andere gegevens van externe bronnen kunnen worden uitgesloten, omdat we geen licentie hebben om deze gegevens via onze API te distribueren.”
Nadat u de boekomslagen en beschrijvingen hebt voorbereid, kunt u de boekinformatie enigszins weergeven zoals hieronder.