iT邦幫忙

2026 iThome 鐵人賽

DAY 11
0
Software Development

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

Day 26|比較三種 API 的使用方式

  • 分享至 

  • xImage
  •  

一、前言

前幾週已經分別實際操作過書籍、電影和天氣三種 API,也各自整理過他們回傳的資料,
到了最後這一週想把這三種 API 放在一起比較,
看看他們在使用方式上有哪些相同和不同的地方。

雖然三個 API 提供的資料完全不一樣,
但實際操作後會發現,
使用 API 的基本流程其實很接近。

———

二、三種 API 各自的用途

這次使用的三種 API 分別是 Open Library、TVmaze 和 Open-Meteo。

Open Library 的書籍 API 可以用來搜尋書籍,
例如輸入 Harry Potter,就可以取得相關的書籍資料。

TVmaze 則可以用來搜尋節目資料,
例如之前使用 Harry Potter、Harry 和 Potter 當作關鍵字,觀察不同搜尋條件得到的結果。

Open-Meteo 是天氣 API,
可以利用地點的經緯度查詢目前的天氣資料,
例如台北、台中和高雄的溫度、濕度和風速。

雖然三個 API 的用途不同,
但他們都有一個共同點,
就是我們先提出請求,API 再把資料回傳給我們。

⸻

三、三種 API 的 Endpoint

首先可以比較三種 API 使用的 Endpoint。

書籍 API 使用的是:
https://openlibrary.org/search.json

電影 API 使用的是:
https://api.tvmaze.com/search/shows

天氣 API 使用的是:
https://api.open-meteo.com/v1/forecast

可以發現,
三個網址都不一樣,因為他們是不同的服務。

但是從使用方式來看,
這三個網址都可以看成是「我要向哪裡取得資料」的入口。

所以在使用 API 時,
第一步通常就是先找到正確的 Endpoint。

⸻

四、三種 API 使用的 Parameter

接下來比較 Parameter,
就可以看到三個 API 比較明顯的差異。

書籍 API 使用 q 作為搜尋參數,
例如:
https://openlibrary.org/search.json?q=Harry+Potter
這裡的 q 就是我們想搜尋的關鍵字。

電影 API 也是使用 q:
https://api.tvmaze.com/search/shows?q=Harry%20Potter
可以看到,
雖然 Open Library 和 TVmaze 是不同的 API,
但他們都使用 q 來表示搜尋關鍵字。

天氣 API 則不太一樣,
他需要使用 latitude 和 longitude:
https://api.open-meteo.com/v1/forecast?latitude=24.147627&longitude=120.70138&current=temperature_2m,relative_humidity_2m,wind_speed_10m
這裡不是輸入一個文字關鍵字,
而是利用經緯度指定要查詢哪一個地點。

可以發現Parameter 的名稱和用途會依照不同 API 而有所不同。

⸻

五、GET Request

前面學習 Web API 基礎時有介紹過 GET 和 POST。
這次實際使用的三種公開 API,
主要都是透過 GET Request 來取得資料。

我們在瀏覽器網址列輸入 API 網址並加入參數後,
就可以直接送出請求。

例如搜尋書籍時:
GET → Open Library

搜尋節目時:
GET → TVmaze

查詢天氣時:
GET → Open-Meteo

三個 API 雖然功能不同,
但這個基本流程是一樣的。

這也讓我更能理解之前學到的 GET Request。
它不只是課本上的一個名詞,
而是真的可以透過網址送出請求,
再從 API 得到 Response。

⸻

六、三種 API 回傳的資料不一樣

雖然三個 API 的使用流程很相似,
但最後回傳的資料內容就有很大的差別。

書籍 API 會回傳書籍搜尋結果,
例如書名和其他書籍相關資料。

電影 API 會回傳節目資料,
例如節目名稱、類型、語言、分類、狀態和播放時間等。

天氣 API 則會回傳目前天氣資料,
例如溫度、相對濕度和風速。

相同的是 API 的使用概念,不同的是 API 提供的資料。

我們不能因為三個 API 都使用 GET,
就認為它們的資料格式和內容也完全一樣。

實際使用 API 時,
還是需要閱讀它提供的文件,
確認 Endpoint、Parameter 以及回傳資料的格式。

⸻

七、三種 API 的使用方式

把這次的比較整理成表格,
就會比較容易看出三個 API 的差異。
https://ithelp.ithome.com.tw/upload/images/20261009/20178901HxObElGCpi.jpg
從這張表可以看到,
三個 API 的用途雖然不同,但基本流程很接近。

我們都是先找到 Endpoint,
再設定需要的 Parameter,
透過 GET 發送 Request,
最後取得 API 回傳的 Response。

⸻

八、總結

經過這次比較後,
能發現不同 API 其實不需要完全重新學習一次。
只要先理解 Web API 的基本概念,
之後遇到新的 API,
就可以按照類似的方法去看它的 Endpoint、Parameter、Request 和 Response。

這次的三種 API 也讓我看到 Parameter 會依照 API 的用途而有所不同。
書籍和電影可以使用關鍵字搜尋,
而天氣 API 則是使用經緯度來指定查詢位置。

所以在使用 API 時,
除了知道「這個 API 可以做什麼」,
也要知道「我要怎麼告訴它我想查什麼」。

前面幾天主要是分別學習三種 API,並比較它們在資料類型、JSON 結構、Request 方式和實際使用上的差異。

接下來則會把前面學到的概念實際應用出來,
嘗試自己建立可以操作的 API 小工具。
接下來會分別使用書籍、節目和天氣 API,讓使用者可以透過網頁取得 API 回傳的資料,
也藉此確認自己是否真正理解前面學到的 Request、Response 和 JSON。


上一篇
Day 25|天氣 API 總結
下一篇
Day 27|實作書籍 API:建立自己的書籍搜尋功能
系列文
Web API:從零開始探索公開 API 與資料應用 共 29 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言