Pagina inicial » Codificação » Como obter classificações da Goodreads via API

    Como obter classificações da Goodreads via API

    Para os amantes de livros que gostam de um gênero específico, eles provavelmente vão verificar a recomendação de um amigo do que seguir qualquer lista de best-sellers. É por isso que o Goodreads da Amazon é um site marcado para leitores ávidos. É um lugar onde você pode encontrar um extenso banco de dados de livros, recomendações e resenhas de colegas amantes de livros..

    Goodreads também fornece uma API para desenvolvedores acessar seus dados e personalizar ainda mais como por nossa aplicação. Hoje veremos como recuperar as classificações de livros da Goodreads por meio da API da Goodreads usando o ISBN ou o número do livro padrão internacional, que pode ser usado posteriormente ao exibir informações de livros e outros em seu site.

    Para começar, faça login ou inscreva-se com um nome, ID de e-mail e senha para Goodreads e vá para https://www.goodreads.com/api/keys (ligação). Insira o nome do aplicativo e o nome da empresa e gere sua chave de API. Em seguida, verifique sua conta por meio do e-mail recebido no ID de e-mail que você inseriu.

    Não deixe de conferir os Termos de Serviço para desenvolvedores da API. Eles também têm uma lista de métodos de API em sua página da API. Alguns desses métodos exigirão a autenticação OAuth, o resto será apenas precisa da chave de desenvolvedor, como o que vamos ver neste post.

    O tipo de resposta desses métodos varia, seja apenas em XML ou JSON ou uma opção para escolher entre esses dois usando o formato parâmetro.

    book.review_counts é um método da Goodreads API que busca todas as estatísticas de revisão de uma lista de ISBNs de livros. Seu tipo de resposta é JSON. O URL de solicitação é assim: https://www.goodreads.com/book/review_counts.json .

    Leva quatro parâmetros:

    • chave, qual é a chave do desenvolvedor
    • isbns - uma matriz ou sequência única separada por vírgulas dos ISBNs dos livros em que queremos as estatísticas de revisão de
    • formato - o formato da resposta (embora, com toda a honestidade, eu não tenha certeza do porque esta existe, já que a resposta sempre estará em JSON. Planos para futuras implementações?)
    • ligue de volta, a função que encerrará a resposta JSON

    Vamos pegar os dois livros; Head First Java, primeira edição (ISBN: 0596009208) e JavaScript: The Good Parts, 1ª edição (ISBN: 0596517742) e obtenha as estatísticas de revisão. O URL de solicitação é assim:

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

    E a responseText depois do embelezamento se parece com isso.

    "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"] 

    Se você quiser a classificação do Head First Java, Primeira Edição livro, está em myJSON.books [0] .average_rating. o ratings_count e reviews_count as chaves nos objetos representam o número total de classificações emitidas e as revisões feitas para essa edição específica do livro.

    similarmente , text_reviews_count representa o total de comentários somente em texto da edição específica do livro. Enquanto que work_ratings_count, work_reviews_count e work_text_reviews_count representa o total de avaliações, resenhas e resenhas somente em texto de todas as edições.

    Se você clicar em Detalhes da Classificação de JavaScript: as boas partes (1ª edição) em Goodreads ele vai mostrar isso.

    Pode utilizar todas as informações de revisão adicionais, se pretender ou apenas apresentar uma classificação por estrelas para o livro, utilizando o classificação média valor chave.

    Nota: De acordo com a documentação da API, “A Goodreads API oferece acesso total aos metadados de propriedade da Goodreads, mas não oferece acesso total aos metadados fornecidos por terceiros, como o Ingram. Imagens de capa do livro, descrições e outros dados de fontes de terceiros podem ser excluídos, porque não temos uma licença para distribuir esses dados por meio de nossa API.”

    Depois de ter lido as capas e as descrições dos livros, você pode exibir as informações do livro um pouco como abaixo.