GitHub Copilot 完整教學

Part 14:實戰應用 - API 整合

用 Copilot 快速串接各種 API

GET / POST JSON 處理 錯誤處理

🎯 本單元學習目標

完成這個單元後,你將能夠:

1. GET 請求

用 Copilot 產生取得資料的程式碼

2. POST 請求

用 Copilot 產生發送資料的程式碼

3. JSON 處理

解析 API 回傳的 JSON 資料

4. 錯誤處理

處理網路錯誤和狀態碼

核心觀念:API 讓你的程式可以與外部服務溝通,取得即時資料!

🌐 什麼是 API?

API(Application Programming Interface)
應用程式介面 - 程式與程式之間溝通的橋樑
你的程式
發送請求
API 伺服器
回傳資料

GET 取得資料

從伺服器讀取資料
例:取得天氣、查詢匯率

POST 發送資料

向伺服器送出資料
例:註冊帳號、送出表單

🤖 Copilot 如何幫助 API 整合?

📝 產生請求程式碼

自動產生 GET/POST 請求
包含正確的參數設定

📋 處理 JSON 回應

解析回傳的 JSON 資料
取出需要的欄位

⚠️ 加上錯誤處理

try-except 處理網路錯誤
檢查 HTTP 狀態碼

🔗 串接真實 API

天氣、匯率、新聞等
各種公開 API

優勢:只要描述你要做什麼,Copilot 就能產生完整的 API 請求程式碼!

GET 範例一:GET 請求

提問方式

請用 Python requests 寫一個 GET 請求的函式,可以取得指定 URL 的 JSON 資料
GET 請求提問

在 Chat 中輸入 GET 請求的需求

📋 GET 請求程式碼

GET 請求結果

Copilot 產生的 GET 請求程式碼

程式碼重點:
  • requests.get(url) - 發送 GET 請求
  • response.json() - 將回應轉換為 JSON

POST 範例二:POST 請求

提問方式

請用 Python requests 寫一個 POST 請求的函式,可以發送 JSON 資料到指定 URL
POST 請求

Copilot 產生的 POST 請求程式碼

POST 與 GET 的差別:POST 請求可以在 body 中發送資料(如 JSON),GET 只能在 URL 中帶參數

📦 範例三:處理 JSON 回應

提問方式

請示範如何解析 API 回傳的 JSON 資料,並取出特定欄位
處理 JSON

Copilot 示範 JSON 解析

常用操作: data["key"] 取出欄位、data.get("key", default) 安全取值

⚠️ 範例四:錯誤處理

提問方式

請為這個 API 請求加上錯誤處理,包含網路錯誤和回應狀態碼檢查
錯誤處理

包含錯誤處理的 API 請求

為什麼需要錯誤處理?
  • 網路可能斷線
  • API 伺服器可能無回應
  • 回應狀態碼可能不是 200

🌤️ 範例五:實際 API 串接

提問方式

請用 Python 寫一個函式,串接免費的天氣 API,取得資料並顯示
實際 API 範例

Copilot 產生的實際 API 串接程式碼

完整程式碼包含:API URL、發送請求、解析 JSON、顯示結果

💡 API 整合技巧

1. 認證方式

API Key、Bearer Token
OAuth 2.0 等認證方式

2. 速率限制

注意 API 的呼叫次數限制
避免被封鎖

3. 錯誤處理

try-except 包住請求
檢查狀態碼 200

4. 閱讀文件

先看 API 文件
了解參數和回傳格式

提問技巧:告訴 Copilot 你要串接哪個 API,它會產生更精準的程式碼!

📚 常用公開 API 介紹

類型 API 範例 用途
天氣 OpenWeatherMap、中央氣象署 取得天氣預報、溫度
匯率 ExchangeRate-API 取得即時匯率
新聞 NewsAPI 取得新聞標題
地圖 Google Maps API 地理資訊、路線規劃
娛樂 PokeAPI、OMDB 寶可夢資料、電影資訊
找免費 API:搜尋「Public APIs」或「Free APIs」可以找到很多免費資源

🏋️ 實作練習

練習目標:使用 Copilot 串接 API 並處理回應

練習步驟

  1. 建立 api_practice.py
  2. 請 Copilot 產生 GET 請求函式
  3. 請 Copilot 產生 POST 請求函式
  4. 請 Copilot 加上錯誤處理
  5. 嘗試串接一個真實的免費 API(如天氣、匯率)
  6. 執行程式,確認能取得資料
進階挑戰:
  • 串接需要 API Key 的服務
  • 將取得的資料存成 JSON 檔案

📝 隨堂測驗

問題 1:要從 API 取得資料,應該使用哪種 HTTP 方法?

A. POST
B. GET
C. DELETE
D. PUT

問題 2:在 Python 中,如何將 API 回應轉換為 JSON?

A. response.text()
B. response.json()
C. response.content()
D. response.data()

問題 3:API 請求失敗時,應該用什麼來處理錯誤?

A. if-else
B. for-loop
C. try-except
D. while-loop

✅ 測驗解答

問題 1 答案:B

GET 是用來「取得」資料的 HTTP 方法。POST 用來發送資料、DELETE 用來刪除、PUT 用來更新。

問題 2 答案:B

response.json() 可以將 API 回應的內容解析為 Python 的字典(dict)或列表(list),方便後續處理。

問題 3 答案:C

try-except 是 Python 的錯誤處理機制。將 API 請求放在 try 區塊中,如果發生錯誤會跳到 except 區塊處理。

🎉 Part 14 重點回顧

HTTP 方法

GET 取得資料
POST 發送資料

requests 套件

requests.get()
requests.post()

JSON 處理

response.json()
data["key"] 取值

錯誤處理

try-except 包住請求
檢查狀態碼

核心觀念

「API 讓你的程式能與全世界的服務連接」

下一單元預告

Part 15:進階技巧 - Copilot 的最佳實踐
提升 Copilot 使用效率的進階技巧!