在前兩週的挑戰裡,我主要透過小程式學習程式設計的邏輯與技巧。但隨著開發的深入,我逐漸發現單靠「自己輸入資料」的程式還不夠,若能讓程式主動去網路上抓取資料,或是與外部服務互動,將會更貼近真實的應用情境,而這正是API串接的價值所在。
今天就來讓我們來談談現代絕不可或缺的API吧!
API (Application Programming Interface)也稱作應用程式介面,我們可以把它想成程式間溝通的橋樑,是因為它讓不同的軟體或系統能夠互相溝通、交換資料和功能。
對開發者來說,API 是快速取得資料或服務的最佳途徑,應用面也非常多元,像是:
首先,API最大的便利性就是讓我們不需要從零開始開發每一個功能,大幅節省時間和精力。
此外,因為API種類多樣化的特性讓我們的應用程式能夠串接各種外部服務,從而獲得更強大的功能,整體上來說也更完整。
最後也是最重要的部分,在現今這個互聯網密不可分的時代,幾乎所有服務都透過 API 互相連接,無論是網路購物、叫車軟體還是雲端儲存,API 都是背後的核心技術,也代表著我們開發出來的應用程式能與其他服務無縫協作,用戶體驗更豐富了。
JSON(JavaScript Object Notation) 是 API 最常見的資料傳輸格式,就像是不同系統之間溝通時使用的「共通語言」。
當應用程式向一個 API 發出請求時,API 通常會回傳一個用 JSON 格式組織好的資料。這種格式以直觀的語法來表達複雜的資料,非常適合程式處理。更棒的是,幾乎所有程式語言都內建或有函式庫可以解析 JSON,這讓不同程式語言開發的應用程式之間能夠順暢地交換資料,不受限於開發環境。
以下提供範例:
{
"name": "Ashley",
"age": 20,
"skills": ["Python", "API"]
}
在 Python 中,可以用 json 模組解析 JSON:
import json
data = '{"name": "Ashley", "age": 20, "skills": ["Python", "API"]}'
parsed = json.loads(data)
print(parsed["name"])
這樣就能將 API 回傳的 JSON 轉換為 Python 的字典或列表,很方便操作。
使用 Python 串接 API,最常見的工具是 requests 套件,只要掌握以下四個步驟,就能讓我們的應用程式與其他服務順利地溝通。
流程如下:
在開始任何串接之前,必須先閱讀要使用的 API 文件。
它會詳細說明:
很多 API 都需要你先證明自己的身份,才能存取資料或使用功能。
最常見的方式有:
我們會需要將這個身份憑證放在 HTTP 請求的特定位置,才能順利發送請求。
這一步是實際的對話過程,應用程式會向 API 的特定 URL(端點) 發送一個 HTTP 請求。
請求中包含了:
當 API 伺服器收到請求後,它會處理我們的要求,然後回傳一個 HTTP 回應。
這個回應包含:
應用程式會解析這個 JSON 資料,然後將其中的內容拿來使用,例如:顯示在網頁上、儲存到資料庫等。
在開始使用 API 前,需要先留意以下幾點:
我們今天從 API 的基本概念,到資料格式 JSON,再到實際的串接流程,逐步了解了 API 如何讓不同系統順利溝通。掌握這些核心概念後,接下來就是動手實作的最佳時機!
明天,我們將一起實際操作,串接一個天氣查詢 API,親手打造一個能顯示即時天氣的小程式!