当前位置: 首页 > 面试题库 >

通过ISBN搜索Google图书API

巩阳秋
2023-03-14
问题内容

我正在尝试找出如何使用Google Books
API通过ISBN搜索书籍。我需要编写一个程序来搜索ISBN,然后打印出标题,作者和版本。我尝试使用,List volumesList = books.volumes.list("");但是这不允许我按ISBN进行搜索,而且我没有找到获取所需信息的方法(将ISBN放入其中时没有结果)。我现在所拥有的是:

    JsonFactory jsonFactory = new JacksonFactory();     
    final Books books = new Books(new NetHttpTransport(), jsonFactory);
    List volumesList = books.volumes.list("9780262140874");

    volumesList.setMaxResults((long) 2);

    volumesList.setFilter("ebooks");
    try
    {
        Volumes volumes = volumesList.execute();
        for (Volume volume : volumes.getItems()) 
        {
            VolumeVolumeInfo volumeInfomation = volume.getVolumeInfo();
            System.out.println("Title: " + volumeInfomation.getTitle());
            System.out.println("Id: " + volume.getId());
            System.out.println("Authors: " + volumeInfomation.getAuthors());
            System.out.println("date published: " + volumeInfomation.getPublishedDate());
            System.out.println();
        }

    } catch (Exception ex) {
        // TODO Auto-generated catch block
        System.out.println("didnt wrork "+ex.toString());
    }

如果有人对如何提高效率有任何建议,请告诉我。新代码:

    String titleBook="";

    ////////////////////////////////////////////////
    try
    {                               
        BooksService booksService = new BooksService("UAH");
        String isbn = "9780262140874";
        URL url = new URL("http://www.google.com/books/feeds/volumes/?q=ISBN%3C" + isbn + "%3E");
        VolumeQuery volumeQuery = new VolumeQuery(url);
        VolumeFeed volumeFeed = booksService.query(volumeQuery, VolumeFeed.class);
        VolumeEntry bookInfo=volumeFeed.getEntries().get(0);

        System.out.println("Title: " + bookInfo.getTitles().get(0));
        System.out.println("Id: " + bookInfo.getId());
        System.out.println("Authors: " + bookInfo.getAuthors());
        System.out.println("Version: " + bookInfo.getVersionId());
        System.out.println("Description: "+bookInfo.getDescriptions()+"\n");
        titleBook= bookInfo.getTitles().get(0).toString();
        titleBook=(String) titleBook.subSequence(titleBook.indexOf("="), titleBook.length()-1);
    }catch(Exception ex){System.out.println(ex.getMessage());}
    /////////////////////////////////////////////////
    JsonFactory jsonFactory = new JacksonFactory();     
    final Books books = new Books(new NetHttpTransport(), jsonFactory);
    List volumesList = books.volumes.list(titleBook);   
    try
    {
        Volumes volumes = volumesList.execute();
        Volume bookInfomation= volumes.getItems().get(0);

        VolumeVolumeInfo volumeInfomation = bookInfomation.getVolumeInfo();
        System.out.println("Title: " + volumeInfomation.getTitle());
        System.out.println("Id: " + bookInfomation.getId());
        System.out.println("Authors: " + volumeInfomation.getAuthors());
        System.out.println("date published: " + volumeInfomation.getPublishedDate());
        System.out.println();

    } catch (Exception ex) {
        System.out.println("didnt wrork "+ex.toString());
    }

问题答案:

您是否正在使用不赞成使用的数据API?

借助Books API
v1
(来自Labs),您可以使用查询

https://www.googleapis.com/books/v1/volumes?q=isbn:<your_isbn_here>

例如

https://www.googleapis.com/books/v1/volumes?q=isbn:0735619670

通过其ISBN查询一本书。

您可能需要查看Google的示例代码:BooksSample.java



 类似资料:
  • 我正试图通过查询特定的聊天室ID来创建包含聊天室中所有消息的Google Vault导出。不幸的是,正在为以下查询创建导出: 产生以下错误: 为了在谷歌聊天服务中搜索,需要将微粒类型设置为。API还提到,当搜索方法为(https://developers.google.com/vault/reference/rest/v1/Query#SearchMethod). 我是遗漏了什么还是这是一个错误?

  • Google AJAX 搜索 API 可让您通过 JavaScript 将 Google 搜索放在网页中。您可以嵌入一个简易的动态搜索框,并可以在自己的网页上显示搜索结果,或者以创新的编程方式使用这些结果。 主要用途: 1. 将 Google 网页搜索、资讯搜索和博客搜索集成到您的网站中。 2. 将本地搜索结果添加到您的网站中,或者使用 Google 地图 API 混搭集成这些结果。 3. 将 Y

  • 12.7. 搜索 Google 让我们回到这章开始时你看到的那段代码,获得比当前气温更有价值和令人振奋的信息。 Google 提供了一个 SOAP API ,以便通过程序进行 Google 搜索。使用它的前提是,你注册了 Google 网络服务。 过程 12.4. 注册 Google 网络服务 访问 http://www.google.com/apis/ 并创建一个账号。 唯一的需要是提供一个 E

  • 问题内容: 在GAE Search API 的Python版本中查询搜索索引时,最好的搜索方式是:首先搜索单词与标题匹配的文档,然后再搜索与正文匹配的文档的项目? 例如给出: 如果可能,如何对上述形式的s的索引执行搜索,并以该优先级返回结果,其中要搜索的短语在变量中: 符合条件的文件;然后 正文与单词相匹配的文档。 似乎正确的解决方案是使用,但是由于我之前没有使用过此搜索功能,因此我可能对此不以为

  • 问题内容: 我想构建一个由Instagram照片驱动的小型“即时图片搜索”应用。就像Google Instant,您可以在其中开始键入内容,并且在键入更多字母时显示/更新结果。 您可以看到由Google图片提供支持的实时演示应用。我知道使用大型引擎(Google,Yahoo!,Bing)是可行的,但我不知道Instagram是否允许这样做。任何熟悉API的人都可以提供帮助吗? 如果无法通过有意义的

  • 本文向大家介绍二值图像连通域搜索相关面试题,主要包含被问及二值图像连通域搜索时的应答技巧和注意事项,需要的朋友参考一下 matlab中连通区域标记函数bwlabel中的算法,一次遍历图像,并记下每一行(或列)中连续的团(run)和标记的等价对,然后通过等价对对原来的图像进行重新标记。 创建RUN(团)结构体,包含(纵坐标、横坐标开始、横坐标结束、标记号) 开始逐行扫描图像,寻找所有的团,将他们放到