Hjemmeside » Coding » Sådan får du Goodreads-bedømmelser via API

    Sådan får du Goodreads-bedømmelser via API

    For book elskere, der har en smag for en bestemt genre, vil de sandsynligvis tjekke en vens anbefaling end følge nogen bestseller liste. Det er derfor Amazonas Goodreads er et bogmærket websted for ivrige læsere. Det er et sted, hvor du kan finde en omfattende database med bøger, anbefalinger og anmeldelser af andre bogelskere.

    Goodreads giver også en API for udviklere til få adgang til sine data og yderligere tilpasse det som pr vores ansøgning. I dag ser vi, hvordan du henter Goodreads-bogmærker gennem Goodreads API ved hjælp af ISBN eller International Standard Book Number, som senere kan bruges, mens du viser boginformation og lignende på din hjemmeside.

    For at begynde, enten login eller tilmeld dig med et navn, e-mail id og password til Goodreads og gå til https://www.goodreads.com/api/keys (link). Indtast et programnavn og firmanavn og generer din API-nøgle. Bekræft derefter din konto via den email, der er modtaget i det email-id, du indtastede.

    Husk at tjekke deres Developer Servicevilkår for API'en. De har også en liste over API-metoder på deres API-side, nogle af disse metoder vil kræve OAuth-godkendelse, resten vil kun har brug for udvikler nøglen, som den vi ser på i dette indlæg.

    Svarstypen af ​​disse metoder varierer, det er enten kun i XML eller JSON, eller en mulighed for at vælge mellem disse to ved hjælp af format parameter.

    book.review_counts er en Goodreads API-metode, der henter alle oversigtsstatistikkerne for en liste over ISBN'er til bog. Dens svartype er JSON. Forespørgselswebadressen er som denne: https://www.goodreads.com/book/review_counts.json .

    Det tager fire parametre:

    • nøgle, som er udvikler nøglen
    • ISBN-numre - en array eller en enkelt kommasepareret streng af ISBN'erne af de bøger, som vi ønsker revisionsstatistik for
    • format - Formatet af svaret (selvom jeg ærligt, er jeg ikke helt sikker på, hvorfor denne findes, da svaret altid kommer til at være i JSON. Planer for fremtidige implementeringer?)
    • ring tilbage, den funktion, der vil pakke op JSON-responsen

    Lad os tage de to bøger; Hoved Første Java, Første udgave (ISBN: 0596009208) og JavaScript: De gode dele, 1. udgave (ISBN: 0596517742) og få deres anmeldelse statistik. Forespørgselswebadressen er som denne:

    https://www.goodreads.com/book/review_counts.json?key=apikey&isbns=0596009208,0596517742 

    Og responseText efter forskønning ser sådan ud.

    "bøger": "_ 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_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"] 

    Hvis du vil have bedømmelsen af Hoved første Java, første udgave bog, det er i myJSON.books [0] .average_rating. Det RATINGS_COUNT og reviews_count nøglerne i objekterne repræsenterer det samlede antal bedømmelser, der er udgivet og anmeldelser lavet for den pågældende udgave af bogen.

    Tilsvarende , text_reviews_count repræsenterer den samlede tekst-kun anmeldelser af den særlige udgave af bogen. ud fra følgende betragtninger work_ratings_count, work_reviews_count og work_text_reviews_count repræsenterer de samlede bedømmelser, anmeldelser og kun anmeldelser af alle udgaverne.

    Hvis du klikker på Vurdering Detaljer for JavaScript: De gode dele (1. udgave) I Goodreads vil det vise dette.

    Du kan bruge alle disse ekstra anmeldelse oplysninger, hvis du vil have eller bare vise en stjerneklassifikation for bogen ved hjælp af gennemsnitlig vurdering nøgle værdi.

    Bemærk: Ifølge API dokumenering, “Goodreads API giver dig fuld adgang til Goodreads-ejede metadata, men det giver dig ikke fuld adgang til at bestille metadata leveret af tredjeparter som Ingram. Bogomslagsbilder, beskrivelser og andre data fra tredjeparts kilder kan udelukkes, fordi vi ikke har en licens til at distribuere disse data via vores API.”

    Når du har læst bogomslagene og beskrivelserne, kan du vise bogen info lidt som nedenfor.