iT邦幫忙

2026 iThome 鐵人賽

DAY 9
0
Software Development

Web API:從零開始探索公開 API 與資料應用系列 第 9 篇

Day 9|使用書籍 API 搜尋指定書籍

  • 分享至 

  • xImage
  •  

**一、前言

昨天第一次實際使用書籍API,
了解了如何透過GET Request向API提出請求,
再從回傳的JSON資料中找到書籍資訊。

今天要繼續使用書籍API,
不過這次會進一步嘗試「搜尋書籍」。

如果API可以提供大量的書籍資料,
那麼我們就需要告訴API「我想找哪一本書」,
這時候就會用到前幾天介紹過的參數。

⸻

**二、書籍API要怎麼搜尋?

以搜尋書籍為例我們可能會想找:

  • 書名
  • 作者
  • 關鍵字
  • ISBN
    這些搜尋條件都可以透過API的參數傳送給伺服器。

例如原本的API Request可能是:
GET /books
如果加入搜尋條件,就可能變成:
GET /books?title=Harry
這裡的title=Harry就是一個參數,
代表希望API找出與Harry相關的書籍。

實際使用時不同API的參數名稱會不一樣,
因此不能看到title就認為所有書籍API都使用這個名稱,
而是要先查看API的文件說明。

⸻

**三、實際搜尋一本書

接下來使用昨天的書籍API進行實作

Step 1:開啟書籍API
使用手機瀏覽器開啟昨天使用的書籍 API。
https://openlibrary.org/search.json?q=Harry+Potter&utm_source=chatgpt.com
進入API後,
找到可以取得書籍資料的GET Endpoint。

Step 2:輸入搜尋條件
在API提供的搜尋參數中輸入想搜尋的書名或關鍵字。
例如可以先搜尋自己熟悉的一本書
或輸入Harry Potter
送出Request後觀察API回傳的結果。

Step 3:查看JSON
API回傳資料後,
可以從JSON中找看看:

  • 書名
  • 作者
  • 出版資訊
  • ISBN
  • 書籍介紹
    如果搜尋結果不只一本也可以觀察API是如何一次回傳多筆書籍資料的。

這裡可以截圖保留實際操作結果,
之後也可以用來比較不同搜尋條件的差異。

⸻

**四、改變關鍵字看看結果

接著可以再做一次測試。
例如之前第一次搜尋
Harry Potter
那這次第二次我們改成搜尋
The Little Prince
比較兩次 API 回傳的資料。
https://openlibrary.org/search.json?q=The+Little+Prince
https://ithelp.ithome.com.tw/upload/images/20260923/20178901EB6odIPbfP.jpg

可以觀察:

  1. 搜尋結果的數量是否不同?
  2. 回傳的書籍名稱是否改變?
  3. 作者資料是否改變?
  4. JSON的基本結構是否仍然相同?

雖然搜尋的內容改變了,
但API回傳的資料格式通常仍會維持相同的結構。

這也可以讓我們更清楚看到「參數」的作用:
同一個API只要改變Request中的搜尋條件,
就可以取得不同的資料。

⸻

**五、實作結果

今天透過書籍API搜尋不同的書籍,
並比較修改搜尋關鍵字前後的回傳結果,
API並不是固定回傳某一筆資料,
而是可以根據Request中提供的搜尋條件,取得不同的結果。
知道了參數不只是URL裡面的一段文字,
而是可以用來告訴API「我想要什麼資料」的重要資訊。

⸻

**六、總結

今天進一步實際操作了書籍API,
學習如何利用搜尋參數取得指定的書籍資料。
透過改變搜尋關鍵字可以看到API回傳的資料也會跟著改變,
但JSON的基本資料結構仍然可以維持一致。
下一篇會繼續深入了解書籍API的搜尋參數,
看看不同參數可以如何影響搜尋結果。


上一篇
Day 8|第一次使用書籍API:從API取得書籍資料
下一篇
Day 10|書籍API的搜尋參數
系列文
Web API:從零開始探索公開 API 與資料應用 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言