SoundCloud開發了一款可被開發者使用的API,這款API能讓開發者獲得他們想要的幾乎任何資料。但是該API的用法有些混亂,特別是對初學者來說,因為此時的SoundCloud API開發文件和文件範例使用的都是SDK(軟體開發工具箱)的不同版本。
SoundCloud API和SoundCloud SDK有什麼差別呢?從根本上說,SoundCloud API是一個URL的集合,它給開發者提供了從SoundCloud伺服器獲取資料的權限,而SoundCloud SDK是為查詢SoundCloud API提前寫好的庫(或客戶端)。如果想了解更多關於這方面的內容,點擊以下連結:http://www.php.cn/
在這個教學裡,我們將學到如何存取SoundCloud API和如何簡化使用SoundCloud SDK的流程。我們將從SoundCloud上學習如何設定SoundCloud SDK,然後接著編寫JavaScript程式碼來取得SoundCloud數據,播放音訊和更多SoundCloud提供的功能。
了解HTTP和API的概念和運作方式對你學習本教學將會有幫助。如果你想了解更多關於API的資訊,我推薦你看看:An Introduction to APIs(對API的一個介紹。連結位址:http://www.php.cn/)。同時知道一點關於非同步JavaScript,promises和回呼函數對你學習本教學也是有幫助的。在本文我們的程式碼範例中使用了jQuery,所以如果你了解jQuery的基本知識,那麼你閱讀本文的程式碼範例就不會那麼痛苦。
為了使用JavaScript來開始查詢SoundClound API,我們需要下載SoundClound提供的JavaScript SDK。就像在文章開頭提到的,這裡共有兩個不同的SDK版本可以使用。
這兩個版本的SDK的主要不同之處在於當一個非同步請求產生並將請求發送給SoundClound API時它們返回資料的方式不同。最新版本的SDK回傳的是一個Promise,而另一個版本的SDK需要把一個回呼函數當作一個參數回傳。
我注意到一個問題,隨著文件使用的SDK版本,在該版本的SDK用戶登入功能介面上似乎有一個問題,這個問題就是彈出的登入視窗不會自動關閉。
因此,為了簡單起見,並且因為舊版SDK更穩定,我們將在文章範例中使用舊版的SDK來貫穿本教學。此版本的SDK將需要為客戶端的非同步請求傳回一個回呼函數。
設定一個基本的HTML文件
我們建立一個基本的HTML頁面,該頁面用作我們的主頁。我們在這個頁面上