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

git

git

Native Speech Recognition

Native Speech Recognition

[cmd] 怎麼使用 command line 來 kill 正在某個 port 上面的 process?

[cmd] 怎麼使用 command line 來 kill 正在某個 port 上面的 process?


Comments