什麼是 API
跟各大網站拿資料的方法。
What is API?
API(Application Programming Interface),是當我想要跟某個伺服器索取數據,所要遵守的規定。例如我的端點、參數、URL 要怎麼設定,要用什麼函式庫之類的。
既然是規定,那為甚麼名字裡面有個「介面」?
不要把介面想成是「使用者介面」,而是想成兩個應用程式之間的「交界」。API 就是一個當兩個應用程式有接觸,想要互相傳遞資料,API 就是在這個「交界處」扮演溝通的橋樑,讓兩個應用程式彼此之間知道應該要遵守那些格式跟規定。
API 包含了哪些東西?
-
數據交換的格式:如何格式化發送和接收的數據(例如,使用 JSON 或 XML)。
-
可用的操作和方法:哪些功能可用,以及如何通過特定的 HTTP 方法(如 GET、POST、PUT)來使用它們。
-
安全性和身份驗證:如何確保數據交換的安全性,通常通過 API 金鑰或 OAuth 進行身份驗證。
-
錯誤處理:當發生錯誤時,如何識別和處理這些錯誤(例如,通過特定的錯誤代碼和消息)。
假設我要建立一個天氣資訊網站
整個流程是:
向有提供天氣資訊的網站,並根據對方提供的 API 規定提出索取資訊的請求。對方收到這個請求之後,把數據傳回來給我,我再把這些數據呈現到我的頁面上。
javascriptconst axios = require('axios');
async function getWeather(city) {
const apiKey = 'YOUR_API_KEY';
const baseUrl = 'http://api.weatherapi.com/v1/current.json';
const url = `${baseUrl}?key=${apiKey}&q=${city}`;
try {
const response = await axios.get(url);
return response.data;
} catch (error) {
console.error('Error fetching weather data:', error);
}
}
const city = 'Taipei';
getWeather(city).then(weatherInfo => {
console.log(weatherInfo);
});
這段程式碼的工作流程如下:
- 引入
axios
模組:用於發送 HTTP 請求。