java - 如何使用 Java 访问 ISBNDB 以查找一本书的信息?是否可以在不使用 Maven 或 Gradle 的情况下使用 ISBNDB api?
问题描述
我正在尝试访问 ISBNDB 并获取有关一本书的所有相关数据的信息,以便我可以从该数据中为学校项目制作参考书目。但是,我无法通过 Java 访问 ISBNDB 和使用 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 中有关该书的所有信息(如作者、标题、出版商、出版日期等),但只出现编译错误,没有任何内容输出到控制台.
解决方案
我发现出了什么问题,那就是为了使用这个 API,你必须为此付费,而当我尝试使用它时,我并没有意识到这一点。我以为它是免费的,但事实证明它不是,所以我没有使用 API 的权限。
推荐阅读
- excel - 计算要在不缩放的情况下打印的列
- angular - 如何使用 Typescript 源代码调试/步入 npm 包?
- python - 将 www.test.com 清理到 test.com
- java - 将 json 文件包含并读取到生成的 maven .jar 文件中
- google-app-engine - 在 sdk 中工作后,getUserMedia() 音频在静态网站中失败
- java - 档案管理
- .net-core - .net core 3.1 无法分配请求的地址
- php - PHP mysqli_num_rows() 函数不起作用
- pandas - 熊猫数据框列值的多个条件的优化方法
- php - Woocommerce 设置计费字段值等于其他计费字段值