API


Posted by tzutzu858 on 2020-07-22

Application Programming Interface,縮寫:API;又稱為應用程式編譯介面
認識 API 前,先認識介面吧。

我們人沒辦法和機器做互動,所以人和機器溝通就是透過介面,泡咖啡時我們是透過咖啡機上的按鈕(那些就是介面)來叫機器泡咖啡,或是常常聽到手機介面不好操作之類的。

因此介面(Interface)就是兩個主體溝通的交接點,透過這個介面來溝通,讓雙方交換資料等等,例如我和作業系統、電腦系統和外部裝置(補充一)、網路不同伺服器交換資料

補充一 : USB (Universal Serial Bus) 是連接電腦系統與外部裝置的一種序列埠匯流排標準


常常聽到別人說串 API,那是什麼?

Huli 好文推推 : 從拉麵店的販賣機理解什麼是 API,基本上說串 API 指的是 Web API,透過 HTTP 協定的 API。

想不到其他例子還是用 Huli 文章舉的例子來說明:
例如家裡開了間民宿,於是寫了管理訂房的網站,但只有這樣曝光率太低,我想要增加銷售數量,於是便有了把自家在各大訂房網上架的念頭,所以該怎麼做呢?
我必須提供空房資訊給各大訂房網站,那就把資料庫全給他好了,疑!不對啊,這樣我客戶的個人資料不就全曝光了。我不可能把我所有資料都給各大訂房網,各大訂房網也不可能把所有資料給我,因此這就是為什麼要串 API,而不是把整盤好好端給別人,而當說到串 API ,背後隱含的意思其實是「交換資訊」,而這資訊我可以決定什麼要給(空房資訊),什麼不要給(客戶資料)。


client 和 server

從上面民宿例子來說你扮演客戶端的一方,同時也是伺服器端。

client 端:串接他人開發的 Web API
做為客戶端,你向某訂房網 Web API 伺服器發送請求,以拿到訂單資訊。大致步驟如下 :

  1. 某訂房網的官方網站,找到你要使用的 API。
  2. 閲讀某訂房網 API 的文件,了解如何使用各大訂房網 API
  3. 完成程式碼改寫之後,就可以在網頁中讀取訂單資訊

server 端:開發 Web API 給他人使用
將你擁有的資料庫開放給某訂房網使用。大致步驟如下 :

  1. 撰寫 API 的使用方式及格式等等。
  2. 按照文件開發一個 Web API,在自己網站上開發可供外部呼叫的方法 (method),用這個方式做為使用介面。

API 練習

串接 HTTP API 實戰 : 針對真實的API測試前端
實作 API : 寫一隻程式去呼叫 Twitch API,並拿到「最受歡迎的遊戲列表(Get Top Games)」


額外補充

SDK 與 API 差別 ?
軟體開發套件(Software Development Kit, SDK)
例如 :

Twitter SDK
twitter.getTime()

SDK 就是把東西都包裝好,只要去用它就好了










Related Posts

關於 JavaScript 的提升 (Hoisting)

關於 JavaScript 的提升 (Hoisting)

HTB Blackfiled Walkthrough

HTB Blackfiled Walkthrough

Day06 從案例看原生 History API (中)

Day06 從案例看原生 History API (中)


Comments