Hemsida » Kodning » Så här får du betyg för värderingar via API

    Så här får du betyg för värderingar via API

    För bokälskare som tycker om en viss genre, kommer de noga att kolla in en väns rekommendation än att följa någon bestsellerlista. Det är därför Amazonas Goodreads är en bokmärkt webbplats för ivrig läsare. Det är en plats där du kan hitta en omfattande databas med böcker, rekommendationer och recensioner av andra bokälskare.

    Goodreads ger också ett API för utvecklare att få tillgång till sina uppgifter och ytterligare personifiera det enligt vår ansökan. Idag ser vi hur du hämtar Goodreads bokbetyg via Goodreads API med hjälp av ISBN eller International Standard Book Number, som senare kan användas när du visar bokinformation och sådan på din webbplats.

    För att börja, logga in eller registrera dig med ett namn, e-post-id och lösenord till Goodreads och gå till https://www.goodreads.com/api/keys (länk). Ange något programnamn och företagsnamn och skapa din API-nyckel. Bekräfta sedan ditt konto via e-postmeddelandet som mottogs i det email-ID du angav.

    Var noga med att kolla in utvecklarens användarvillkor för API: n. De har också en lista med API-metoder på deras API-sida, vissa av dessa metoder kräver OAuth-autentisering, resten kommer endast att ske behöver utvecklarnyckeln, som den vi ska titta på i det här inlägget.

    Svarstypen för dessa metoder varierar, det är antingen bara i XML eller JSON, eller ett alternativ att välja mellan dessa två med hjälp av formatera parameter.

    book.review_counts är en Goodreads API-metod som hämtar all översynsstatistik för en lista över ISBN-bokar. Dess svarstyp är JSON. Förfrågningsadressen är så här: https://www.goodreads.com/book/review_counts.json .

    Det tar fyra parametrar:

    • nyckel-, vilken är utvecklarnyckeln
    • ISBN-nummer - en array eller enstaka kommaseparerad sträng av ISBN: erna för de böcker som vi vill ha översynsstatistik för
    • formatera - Svarets format (men jag är inte riktigt säker på varför den här existerar, eftersom svaret alltid kommer att vara i JSON. Planer för framtida implementeringar?)
    • ring tillbaka, funktionen som kommer att pakka upp JSON-svaret

    Låt oss ta de två böckerna; Huvud första Java, första upplagan (ISBN: 0596009208) och JavaScript: The Good Parts, 1: a upplagan (ISBN: 0596517742) och få sin recension statistik. Förfrågningsadressen är så här:

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

    Och den response efter förskönhet ser ut så här.

    "böcker": ["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"] 

    Om du vill ha betyg av Head First Java, första upplagan bok, den är i myJSON.books [0] .average_rating. De RATINGS_COUNT och reviews_count nycklarna i objekten representerar det totala antalet betyg gjorda och recensioner gjorda för den särskilda upplagan av boken.

    Liknande , text_reviews_count representerar den totala text-endast recensionerna av den särskilda utgåvan av boken. medan work_ratings_count, work_reviews_count och work_text_reviews_count representera de totala betygen, recensionerna och endast textrecensioner av alla utgåvor.

    Om du klickar på Rating Details of JavaScript: De goda delarna (1: a upplagan) i Goodreads visas det här.

    Du kan använda all den extra översynsinformationen om du vill eller bara visa ett betyg för boken med hjälp av AVERAGE_RATING nyckelvärde.

    Notera: Enligt API-dokumentation, “Goodreads API ger dig fullständig tillgång till Goodreads-ägda metadata, men det ger dig inte fullständig tillgång till bokmetadata från tredje part som Ingram. Bokomslagsbilder, beskrivningar och andra data från tredje parts källor kan uteslutas eftersom vi inte har en licens att distribuera dessa data via vårt API.”

    När du har läst igenom bokomslaget och beskrivningarna kan du visa bokinformationen något som nedan.