Как получить доступ к ISBNDB с помощью Java, чтобы найти информацию о книге? Можно ли использовать API ISBNDB без использования Maven или Gradle? - PullRequest
0 голосов
/ 26 мая 2019

Я пытаюсь получить доступ к ISBNDB и получить информацию обо всех соответствующих данных о книге, чтобы я мог составить библиографию на основе этих данных для школьного проекта. Но у меня проблемы с доступом к ISBNDB и использованием ISBNDB API через Java. Я никогда раньше не использовал Maven или Gradle, так возможно ли использовать API ISBNDB без использования Maven или Gradle? И если да, могу ли я получить пример кода, чтобы увидеть, как использовать ISBNDB API в Java?

Я пытался использовать пример кода из ISBNDB API и подключить его к моему Java-проекту, но он не скомпилирован или работает неправильно. Не похоже, что двоеточие должно быть в методе setRequestProperty, потому что, когда я пытался поместить точный код в мой компилятор (IntelliJ), он не скомпилировался и просто разозлился бы на меня. Я сделал Ключ Отдыха на веб-сайте ISBNDB и вставил его в свой код, который был «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 голосов
/ 01 июня 2019

Я понял, что было не так, и это было то, что для того, чтобы использовать этот API, вы должны заплатить за него, и я не осознавал этого, когда пытался его использовать.Я думал, что это бесплатно, но оказалось, что это не так, у меня не было полномочий использовать API.

...