Как получить рейтинг Goodreads через API
Для любителей книг, которым нравится определенный жанр, они, вероятно, проверят рекомендацию друга, а не будут следовать списку бестселлеров. Вот почему Amazon's Goodreads - это сайт для избранных в закладки. Это место, где вы можете найти обширную базу данных книг, рекомендаций и отзывов от других любителей книг.
Goodreads также предоставляет API для разработчиков получить доступ к своим данным и далее персонализировать это согласно нашему заявлению. Сегодня мы увидим, как получить рейтинги книг Goodreads через API Goodreads, используя ISBN или международный стандартный номер книги, который впоследствии можно будет использовать при отображении информации о книге и так далее на вашем веб-сайте..
Чтобы начать, войдите в систему или зарегистрируйтесь с именем, идентификатором электронной почты и паролем в Goodreads и перейдите на страницу https://www.goodreads.com/api/keys (ссылка на сайт). Введите любое имя приложения и название компании и сгенерируйте свой ключ API. Затем подтвердите свою учетную запись, указав адрес электронной почты, указанный при вводе идентификатора..
Обязательно ознакомьтесь с Условиями предоставления услуг для API. У них также есть список методов API на их странице API, некоторые из этих методов потребуют OAuth-аутентификацию, остальные будут только нужен ключ разработчика, как тот, который мы рассмотрим в этом посте.
Тип ответа этих методов может быть разным, он либо только в XML или JSON, либо есть возможность выбора между этими двумя с помощью формат
параметр.
book.review_counts
является методом API Goodreads, который извлекает всю статистику обзора для списка ISBN книг. Тип ответа - JSON. URL-адрес запроса выглядит следующим образом: https://www.goodreads.com/book/review_counts.json. .
Требуется четыре параметра:
ключ
, который является ключом разработчикаISBNs
- массив или отдельная запятая строка ISBN книг, которые мы хотим просмотреть статистикуформат
- формат ответа (хотя, честно говоря, я не совсем уверен, почему он существует, поскольку ответ всегда будет в JSON. Планы на будущие реализации?)Перезвоните
, функция, которая обернет ответ JSON
Давайте возьмем две книги; Head First Java, Первое издание (ISBN: 0596009208) и JavaScript: хорошие части, 1-е издание (ISBN: 0596517742) и получите их обзорную статистику. URL запроса выглядит так:
https://www.goodreads.com/book/review_counts.json?key=apikey&isbns=0596009208,0596517742
И responseText
после украшения выглядит так.
"books": ["id": 231262, "isbn": "0596009208", "isbn13": "9780596009205", "names_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, "average_rating": "4.22"]
Если вы хотите, чтобы рейтинг Head First Java, первое издание книга, это в myJSON.books [0] .average_rating
. ratings_count
а также reviews_count
Ключи в объектах представляют общее количество оценок и отзывов, сделанных для данного издания книги..
так же , text_reviews_count
представляет общий текст только рецензии на конкретное издание книги. В то время как work_ratings_count
, work_reviews_count
а также work_text_reviews_count
представляют суммарные рейтинги, обзоры и текстовые обзоры всех изданий.
Если вы нажмете на Рейтинг детализации JavaScript: хорошие части (1-е издание) в Goodreads это будет отображать это.
Вы можете использовать всю эту дополнительную рецензионную информацию, если хотите, или просто отобразить звездный рейтинг для книги, используя средний рейтинг
значение ключа.
Заметка: Согласно документации API, “API Goodreads предоставляет вам полный доступ к метаданным, принадлежащим Goodreads, но не дает полного доступа к метаданным книги, предоставленным третьими лицами, такими как Ingram. Изображения обложек книг, описания и другие данные из сторонних источников могут быть исключены, поскольку у нас нет лицензии на распространение этих данных через наш API.”
После того, как вы подготовили обложки и описания книг, вы можете отобразить информацию о книге, как показано ниже.