如何使用Java访问ISBNDB以查找一本书的信息?是否可以在不使用Maven或Gradle的情况下使用ISBNDB api?

时间:2019-05-26 03:51:37

标签: java isbn

我正尝试访问ISBNDB并获取有关一本书的所有相关数据的信息,以便我可以从该数据中为学校项目编制书目。但是,我在访问ISBNDB和通过Java使用ISBNDB API时遇到了麻烦。我以前从未使用过Maven或Gradle,因此是否可以在不使用Maven或Gradle的情况下使用ISBNDB API?如果是这样,我可以得到一些示例代码来查看如何在Java中使用ISBNDB API吗?

我尝试使用ISBNDB API中的示例代码并将其插入到我的Java项目中,但是它无法编译或正常工作。似乎冒号不应该出现在setRequestProperty方法中,因为当我尝试将确切的代码放入编译器(IntelliJ)时,它将无法编译,只会生我的气。我已经在ISBNDB网站上创建了一个Rest Key,并将其放入我的代码中,即“ YOUR_REST_KEY”。我没有从示例中更改它。我试图将冒号更改为逗号,但这无助于编译代码。

private static HttpURLConnection con;

public static void main(String[] args) throws MalformedURLException,
        ProtocolException, IOException {

    String url = "https://api2.isbndb.com/book/9781934759486";

    try {

        URL myurl = new URL(url);
        con = (HttpURLConnection) myurl.openConnection();
        con.setRequestProperty("Content-Type", "application/json");
        con.setRequestProperty("Authorization": "YOUR_REST_KEY");
        con.setRequestMethod("GET");

        StringBuilder content;

        try (BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()))) {

            String line;
            content = new StringBuilder();

            while ((line = in.readLine()) != null) {
                content.append(line);
                content.append(System.lineSeparator());
            }
        }

        System.out.println(content.toString());

    } finally {

        con.disconnect();
    }
}

我希望原本要印刷的内容是ISBN中有关该书的所有信息(例如作者,书名,出版商,出版日期等),但是只有编译错误出现了,什么也没有输出到控制台。

1 个答案:

答案 0 :(得分:0)

我发现了什么地方不对,这是事实,要使用此API,您需要付费,而当我尝试使用它时却没有意识到。我以为它是免费的,但事实证明并非如此,因此我无权使用API​​。