2

我可以轻松获取书籍信息:

http://isbndb.com/api/books.xml?access_key=THEKEY&results=details&index1=isbn&value1=9781849152990

我可以轻松查找类别:

http://isbndb.com/api/categories.xml?access_key=Z&index1=category_id&value1=science.mathematics.geometry 

但是你如何获得某一本书的类别呢?我想提供 ISBN 代码,作为回报,我想获得类别?

4

2 回答 2

8

查看他们的 API 文档并进行一些尝试,似乎您能做的最好的事情就是获取本书主题的列表,然后获取这些主题的类别。

因此,以他们为例,给定 ISBN 为 0061031321,您首先调用

http://isbndb.com/api/books.xml?access_key= $Z&results=subjects&index1=isbn&value1= 0061031321

返回

<BookData book_id="thief_of_time" isbn="0061031321" isbn13="9780061031328">
<Title>Thief of time</Title>
<TitleLong>Thief of time: a novel of Discworld</TitleLong>
<AuthorsText>Terry Pratchett</AuthorsText>
<PublisherText publisher_id="harpertorch">New York, N.Y. : HarperTorch, [2002], c2001.</PublisherText>
<Subjects>
<Subject subject_id="discworld_imaginary_place_fiction">Discworld (Imaginary place) -- Fiction</Subject>
<Subject subject_id="fantasy_fiction_aaaa0">Fantasy fiction</Subject>
</Subjects>
</BookData>

然后遍历主题,获取它们的类别:

http://isbndb.com/api/subjects.xml?access_key= $Z&results=categories&index1=subject_id&value1= discworld_imaginary_place_fiction

<...snip...>
<Categories>
<Category category_id="imaginary_places">Imaginary Places</Category>
<Category category_id="imaginary_places.discworld">Discworld</Category>
</Categories>
<...snip...>

http://isbndb.com/api/subjects.xml?access_key= $Z&results=categories&index1=subject_id&value1= Fantasy_fiction_aaaa0

<...snip...>
<Categories>
<Category category_id="genres.fantasy">Fantasy</Category>
</Categories>
<...snip...>

所以 ISBN 0061031321 的类别是:

  • 虚构的地方
  • 唱片世界
  • 幻想

categories.xml如果您想获取整个类别层次结构,可以通过 api 跟踪这些。

于 2012-05-10T21:15:40.200 回答
1

我想这也可能对某人有帮助:

http://isbndb.com/api/books.xml?access_key=XXXXX&results=subjects,details,texts,prices&index1=isbn&value1=9780230749016

请注意我如何使用逗号分隔键的“结果”?奇迹般有效...

于 2013-02-07T09:15:49.620 回答