Домашня » Кодування » Як отримати Goodreads Рейтинги через API

    Як отримати Goodreads Рейтинги через API

    Для любителів книг, які люблять конкретний жанр, вони, ймовірно, перевірять рекомендацію друга, ніж слідувати за списком бестселерів. Ось чому Goodreads Amazon є закладкою сайту для завзятих читачів. Це місце, де можна знайти обширну базу книг, рекомендацій і відгуків любителів книг.

    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

    Візьмемо дві книги; Головний перший 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", "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"] 

    Якщо ви хочете отримати рейтинг Головний перший Java, перше видання книга, вона в myJSON.books [0] .average_rating. The ratings_count і review_count ключі в об'єктах представляють загальну кількість відтворених оцінок і огляди, зроблені для цього конкретного видання книги.

    Аналогічно , text_reviews_count представляє загальні текстові огляди окремого видання книги. Тоді як work_ratings_count, work_reviews_count і work_text_reviews_count представляють загальні рейтинги, огляди та текстові огляди всіх видань.

    Якщо ви натиснете на Деталі рейтингу JavaScript: гарні частини (1-е видання) в Goodreads вона відобразить це.

    Ви можете використовувати всі ці додаткові відомості про перегляд, якщо хочете або просто відобразити рейтинг зірочок для книги за допомогою average_rating ключове значення.

    Примітка: Відповідно до документації API, “API Goodreads надає вам повний доступ до метаданих, що належать Goodreads, але це не дає вам повного доступу до метаданих книг, наданих третіми особами, наприклад, Ingram. Зображення обкладинки книг, описи та інші дані з джерел третьої сторони можуть бути виключені, оскільки ми не маємо ліцензії на поширення цих даних через наш API.”

    Після того, як ви підготували обкладинки та описи книг, ви зможете відобразити інформацію про книгу, як показано нижче.