跳至正文

API是什麼? 🤔

當你開始學習程式設計時,經常會聽到「API」這個詞。但是準確理解API是什麼可能很難。在這個指南中,我將非常簡單地解釋API!

用日常生活比喻API?

讓我們把API比作餐廳。

餐廳的故事 🍽️

當你去餐廳時:

  1. 顧客(你):想點餐
  2. 服務生:接收顧客的訂單並傳達給廚房
  3. 廚房:製作菜餚
  4. 服務生:把完成的菜餚送給顧客

在這裡,服務生正是扮演API的角色

顧客(應用程式) → 服務生(API) → 廚房(伺服器)

顧客(應用程式) ← 服務生(API) ← 完成的菜餚(資料)

API的正式定義

API (Application Programming Interface)

它扮演橋樑的角色,使程式之間能夠對話和交換資訊。

透過實際例子理解

例1:天氣應用程式 ☀️

打開天氣應用程式時,會顯示今天的天氣:

1. 天氣應用程式向天氣伺服器請求「告訴我今天首爾的天氣!」
2. API傳達這個請求
3. 伺服器查找天氣資訊
4. API接收資訊並傳達給應用程式
5. 應用程式螢幕顯示「首爾,晴,23°C」

例2:登入 🔐

用Google帳號登入其他網站時:

1. 網站向Google請求「驗證這個人」
2. Google API確認使用者資訊
3. 確認後向網站回覆「OK」
4. 登入完成!

例3:地圖應用程式 🗺️

為什麼外送應用程式能看到地圖:

外送應用程式不直接製作地圖,
而是使用Google地圖API取得地圖!

API請求是什麼樣的?

向API請求類似於輸入地址:

https://api.weather.com/weather?city=Seoul
↑ ↑ ↑
伺服器地址 想要什麼? 哪裡的?

API的優點 🌟

1. 不需要重新發明輪子

可以透過API使用已經製作好的功能。

例子:

  • 支付功能:使用Stripe API
  • 地圖功能:使用Google地圖API
  • 登入功能:使用Google/Facebook登入API

2. 可以安全地交換資訊

因為不直接存取資料庫,只透過API存取,所以很安全。

3. 多個程式可以一起使用

智慧型手機應用程式、網站、平板應用程式都可以使用同一個API。

Web API的種類

REST API(最常見)

這是Web上最常用的API方式。

特點:

  • 透過URL請求
  • 簡單易學
  • 大多數Web服務都使用

例子:

取得(讀取):  GET https://api.example.com/users
建立(寫入): POST https://api.example.com/users
修改: PUT https://api.example.com/users/123
刪除: DELETE https://api.example.com/users/123

GraphQL

可以準確請求所需資料的方式。

SOAP

舊式API。現在不太常用。

使用API試試

你可以用我們網站的API Tester工具嘗試使用真實的API!

簡單練習

  1. 前往API Tester
  2. 在URL輸入:https://api.github.com/users/github
  3. Method選擇GET
  4. 點選Send按鈕!

你將能夠取得GitHub的公開資訊。

API回應是什麼樣的?

API通常以JSON格式傳送資料:

{
"name": "GitHub",
"location": "San Francisco",
"public_repos": 344
}
提示

想知道JSON是什麼? 請查看理解JSON資料格式文件!

實戰應用範例

製作部落格

查看部落格文章清單:
GET https://myblog.com/api/posts

建立新文章:
POST https://myblog.com/api/posts

製作購物商城

查看商品清單:
GET https://myshop.com/api/products

加入購物車:
POST https://myshop.com/api/cart

主要術語總結

術語含義例子
請求 (Request)向伺服器請求某事「請給我天氣資訊」
回應 (Response)伺服器傳送的回覆「首爾是晴天」
端點 (Endpoint)API的地址/api/weather
方法 (Method)要執行什麼操作GET, POST, PUT, DELETE
JSON資料交換格式{"city": "Seoul"}

常見問題 (FAQ)

Q1:API是免費的嗎?

A:每個API不同!

  • 免費API:公共資料、GitHub等
  • 部分免費API:每天一定次數內免費(Google Maps等)
  • 付費API:支付系統、進階資料等

Q2:如何建立API?

A:需要學習後端程式設計。

  • Node.js + Express
  • Python + Django/Flask
  • Java + Spring 學習這些就可以建立API!

Q3:API Key是什麼?

A:它就像可以使用API的密碼

https://api.example.com/data?key=YOUR_API_KEY_HERE

Q4:出現錯誤怎麼辦?

A:API會用錯誤代碼告訴你:

  • 200:成功!
  • 404:找不到
  • 500:伺服器錯誤

詳細資訊請查看HTTP狀態碼指南

下一步 🚀

如果你理解了API的基礎:

  1. 理解JSON資料格式 - API交換資料的方式
  2. API Tester - 直接使用API
  3. HTTP狀態碼指南 - 理解API回應代碼
  4. cURL Converter - 將API請求轉換為各種格式

總結

API並不難!可以把它想成程式之間對話的方法

就像餐廳的服務生,API:

  • 接收我們的請求
  • 傳達給伺服器
  • 把結果帶回來

現在你理解API是什麼了嗎?🎉