Kā iegūt Goodreads vērtējumus, izmantojot API
Grāmatas cienītājiem, kam patīk īpašs žanrs, viņi, iespējams, pārbaudīs drauga ieteikumus, nekā seko jebkuram bestselleru sarakstam. Šī iemesla dēļ Amazon's Goodreads ir grāmatzīmi piesaistīta vietne laipnajiem lasītājiem. Tā ir vieta, kur var atrast plašu grāmatu, ieteikumu un atsauksmju datubāzi, ko veic citi grāmatu mīļotāji.
Goodreads nodrošina arī API izstrādātājiem piekļūt saviem datiem un turpmāk personalizēt tas ir mūsu pieteikumā. Šodien mēs redzēsim, kā iegūt Goodreads grāmatu vērtējumus, izmantojot Goodreads API, izmantojot ISBN vai starptautisko standarta grāmatu numuru, ko vēlāk var izmantot, parādot grāmatu informāciju un tādu savā tīmekļa vietnē.
Lai sāktu, piesakieties vai pierakstieties ar nosaukumu, e-pasta ID un paroli Goodreads un dodieties uz https://www.goodreads.com/api/keys (saite). Ievadiet jebkuru programmas nosaukumu un uzņēmuma nosaukumu un izveidojiet savu API atslēgu. Pēc tam pārbaudiet savu kontu, izmantojot e-pasta adresi, kuru saņēmāt ievadītajā e-pasta ID.
Noteikti pārbaudiet API izstrādātāja pakalpojumu sniegšanas noteikumus. Viņu API lapā ir arī API metožu saraksts, dažas no šīm metodēm prasīs OAuth autentifikāciju, pārējās būs tikai nepieciešama izstrādātāja atslēga, kā tas, ko mēs aplūkosim šajā amatā.
Šo metožu atbildes veids atšķiras, tas ir vai nu tikai XML vai JSON, vai arī iespēja izvēlēties starp šiem diviem, izmantojot formātā
parametru.
book.review_counts
ir Goodreads API metode, kas saņems visus grāmatu ISBN saraksta pārskatus. Tā reponsa veids ir JSON. Pieprasījuma URL ir šāds: https://www.goodreads.com/book/review_counts.json .
Tam ir četri parametri:
taustiņu
, kas ir izstrādātāja atslēgaIsbns
- masīvu vai vienu komatu atdalītu grāmatu ISBN rindu virkne, kuru mēs vēlamies pārskatītformātā
- atbildes formāts (lai gan pilnīgi godīgi, es neesmu īsti pārliecināts, kāpēc tas pastāv, jo atbilde vienmēr būs JSON. Plāni turpmākai īstenošanai?)atzvani
, funkcija, kas aptvers JSON atbildi
Ņemsim divas grāmatas; Vadiet pirmo Java pirmo izdevumu (ISBN: 0596009208) un JavaScript: Labās daļas, 1. izdevums (ISBN: 0596517742) un saņemt to pārskatīšanas statistiku. Pieprasījuma URL ir šāds:
https://www.goodreads.com/book/review_counts.json?key=apikey&isbns=0596009208,0596517742
Un atbildeTeksts
pēc beautification izskatās šādi.
"grāmatas": ["id": 231262, "isbn": "0596009208", "isbn13": "9780596009205", "rating_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", "rating_count" : 4430, "reviews_count": 8921, "text_reviews_count": 363, "work_ratings_count": 4990, "work_reviews_count": 9821, "work_text_reviews_count": 381, "vidējā vērtība": "4.22"]
Ja vēlaties. \ T Vadiet pirmo Java, pirmo versiju grāmata, tas ir iekšā myJSON.books [0] .average_rating
. The rating_count
un atsauksmes_count
Objektu taustiņi atspoguļo kopējo vērtējumu skaitu un pārskatus par šo konkrēto grāmatas izdevumu.
Līdzīgi , text_reviews_count
atspoguļo tikai grāmatas īpašās versijas pārskatīšanu. Tā kā work_ratings_count
, work_reviews_count
un work_text_reviews_count
atspoguļo visu izdevumu kopējo vērtējumu, pārskatu un tikai teksta pārskatus.
Ja noklikšķināt uz Reitinga informācija par JavaScript: labās daļas (1. izdevums) Goodreads to parādīs.
Jūs varat izmantot visu šo papildu pārskatīšanas informāciju, ja vēlaties vai vienkārši attēlot zvaigžņu vērtējumu grāmatai, izmantojot Vidējais vērtējums
galvenā vērtība.
Piezīme: Saskaņā ar API dokumentāciju, “Goodreads API sniedz jums pilnīgu piekļuvi Goodreads īpašumā esošajiem metadatiem, taču tas nedod jums pilnīgu piekļuvi grāmatu metadatiem, ko sniedz trešās personas, piemēram, Ingram. Grāmatu vāka attēli, apraksti un citi dati no trešo pušu avotiem var tikt izslēgti, jo mums nav licences šo datu izplatīšanai, izmantojot mūsu API.”
Kad esat sagatavojis grāmatu vākus un aprakstus, varat attēlot grāmatu informāciju, kas ir nedaudz līdzīga zemāk.