ProgressBar

WEB API 是什麼?

從 Application、Programming 和 Interface 理解 API,再看為什麼透過 Web 使用程式功能時,會叫做 Web API。

作者: 縱裕發表日期: 更新日期:

不曉得大家有沒有聽過 API?

 

如果你最近開始用 AI 寫程式,或者想把兩個工具串起來,應該很容易碰到這個詞。

 

有人叫你申請 API,也有人跟你說,這個服務沒有開放 API,所以不能直接串。

 

那 API 到底是什麼?為什麼有時候前面又會加上一個 Web?

 

我們先把名字拆開來看。

 

API 的全名是 Application Programming Interface,中文通常翻成「應用程式介面」。這也是 MDN 對 API 的說明所談的概念。

 

先講 Application,也就是應用程式。

 

你手機裡的 App、電腦上的軟體,或者一支幫你整理檔案的小程式,都可以是應用程式。

 

不用把它想得很大。不是一定要有畫面、有按鈕,才叫應用程式。

 

在這裡,你可以先想成有兩支程式。

 

一支已經寫好,裡面有你想用的功能。另一支是你正在寫的程式,想請前面那支程式幫你做事。

 

譬如有一支程式,已經可以根據城市查詢天氣。你現在要做一個小工具,也想使用它查天氣的功能。

 

但你要怎麼叫它做事?

 

這就要接著看 Programming 和 Interface。

 

Programming 通常翻成「程式設計」。放在這裡,可以先理解成:用程式去呼叫另一支程式已經寫好的功能,讓它執行。

 

不是把對方的程式重新寫一次,也不是你自己去操作它的畫面。

 

而是你寫的程式,可以叫對方已經寫好的程式做事。

 

像前面的天氣工具,你的程式把想查的城市交給對方,對方就執行查詢,再把結果交回來。

 

那中間要透過什麼,才能叫它做事?

 

就是 Interface,介面。

 

大家看到介面,很容易想到登入頁面、購物車,或者手機上可以按的按鈕。

 

這些是給人操作的介面。

 

但今天要使用功能的是另一支程式,它不一定需要看畫面,也不需要拿滑鼠去按按鈕。

 

它需要的是一個給程式使用的入口。

 

API 講的就是這種介面。

 

你可以透過這個介面,使用對方開放的功能,不需要先看懂它裡面的程式怎麼寫。

 

就像你用滑鼠,不需要知道滑鼠裡面的零件怎麼運作,只要透過它提供的操作方式,就能使用它。

 

不過,介面本身會限制你能怎麼操作。

 

以一支只有左右兩個按鍵的滑鼠來說,你可以按左鍵、按右鍵,但不能直接在滑鼠上輸入英文字母。

 

要輸入文字,你會用鍵盤。鍵盤提供的操作方式,又跟滑鼠不一樣。

 

程式的介面也是一樣。

 

對方提供查詢天氣的功能,不代表你可以透過同一個介面,叫它幫你整理電腦裡的檔案。

 

它要求你提供城市,你就要照它接受的方式提供。不能什麼都沒給,就期待它知道你想查哪裡。

 

能用哪些功能、需要提供什麼、執行後會拿到什麼結果,都是使用這個介面時要知道的事情。

 

所以,你可以先把這個使用方向想清楚。

 

一支程式提供功能,另一支程式透過它的介面,去呼叫這些功能。

 

這裡講的方向,是誰提供功能、誰來使用。查詢之後,資料仍然可以傳回來。

 

也不代表兩支程式接上以後,就能互相操作對方所有的功能。另一邊如果也要提供功能給你使用,同樣需要有可以使用的介面。

 

那前面多了一個 Web,又差在哪裡?

 

API 本身不一定需要網路。

 

你在電腦裡寫一支程式,使用作業系統提供的 API 讀取檔案,就可以在自己的電腦裡完成。

 

而這篇講的 Web API,是把這種給程式使用的介面,透過 Web 提供出來。

 

你的程式跟對方的程式,不需要放在同一台電腦上。你的程式可以透過網路,把使用功能的要求送過去,再接收對方處理後的結果。

 

這種送出要求、收到回應的運作方式,可以參考 MDN 的 HTTP 說明。

 

我們繼續用假設的天氣工具來看。

 

你想做一個小工具,讓使用者選擇城市,就能看到天氣。

 

但你自己沒有氣象觀測站,也沒有天氣資料。

 

你可以找一個提供天氣資料,而且有開放 Web API 的服務。

 

使用者選好城市後,你的程式就透過對方提供的介面,把要查詢的城市送過去。

 

對方執行已經寫好的查詢功能,再把天氣資料傳回來。你的程式收到後,就能整理成使用者看得懂的畫面。

 

這裡,你做的是自己的小工具,用到的則是另一支程式已經提供的功能。

 

你不需要重新做一套天氣查詢服務,但要先確認對方開放了什麼,以及要怎麼使用。

 

如果你要請 AI 幫忙串接,也可以把需求講清楚:「我要讓使用者選擇城市,透過這個服務提供的 API 查詢天氣,再把結果顯示出來。請依照它的使用文件完成。」

 

接起來之後沒有結果,就先看你的程式送了什麼、對方回了什麼。城市有沒有提供?提供的方式對不對?對方回來的是天氣資料,還是查詢失敗的原因?

縱裕

縱裕

錄課程錄到快死掉了啊!!!

推薦課程

2026 AI 實戰基礎篇
2026 AI 實戰基礎篇

AI 已經改變了職場規則。這門課從跟 AI 溝通開始,到用 AI 寫程式,最後串出一條完整的影片製作流水線。不用會寫程式,但上完你會擁有打造自動化工廠的能力。

NT$ 1,600NT$ 2,400
11月初優惠