參考資料:TechBridge 技術共筆部落格-輕鬆理解 Ajax 與跨來源請求


跨域來源資源共用 – API 利過 AJAX 行為接收遠端資料

什麼是 API

全名是 Application Programming Interface 中文翻作應用程式介面,其中的介面指的是程式跟程式之間的串接讀取檔案,API 程式也使用這個功能了。
Facebook 登入為例,串接「Facebook 提供的 API」,就等於說是 Facebook 向外提供給大家的一套介面、一套標準,任何想要接入 Facebook 服務的開發者們,都可以遵循著使用規範拿到與取得資料,這個東西就叫做 API

API 文獻資料 (API Documentation)

像是呼叫作業系統或是程式語言的函式庫提供的 Function,而這些 Function 通常都可以在官方文件上查到更詳細的說明。
Node.js 的讀取檔案為例 – https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback%EF%BC%89,文件內就會寫出使用的 function() 或是對應傳入的參數。

API 的串接也是一樣,一定要有文件你才知道怎麼串,不然根本串不起來,因為你連要傳什麼參數都不知道。

Twitch API 文件使用為例:
需要有個 Client ID 才能針對像是 API Root 的 URL , https://api.twitch.tv/kraken 等來做 API 的基本操作。

如果要找對應的使用方式與傳入參數的用法,像是 Get Top Games 為例 (可在右上方的 Search Docs 輸入快查),就會出現該頁的 Get Top Games 文件

網頁開發時都直接講 API ,主要指的是 Web API,也就是透過網路來傳輸的 API,但也有非 Web API 的開發文件,像是開發作業系統也對應的 API 用法,在本機執行沒透過網路。

API 文件發送請求 (Request),Twitch 傳回目前最熱門的遊戲列表例子, https://api.twitch.tv/kraken/games/top?<client_id=xxx>
開始時向 Twitch 要資料,更精確的說法是利用 JavaScript 發送 Reuqest 取得資料。