>
>要使用JavaScript開始查詢SoundCloud API,我們需要下載SoundCloud提供的JavaScript SDK。如前所述,可用的SDK有兩個不同的版本。>
>它們之間的主要區別是,當對API提出異步請求時,它們如何返回數據。最新版本返回承諾,而另一個則需要回調函數作為參數。
> 我注意到的一個問題是,對於文檔使用的SDK版本,用戶login功能似乎存在問題,因為彈出窗口不會自動關閉。 因此,為了簡單起見,由於它更穩定,因此我們將在本教程中的示例中使用舊版本。此版本將需要異步請求的回調函數。>
使用SoundCloud API設置基本的HTML文檔
請注意,我們已直接從SoundCloud的服務器中包含了SDK。您還可以下載SDK並引用它:
><span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><title</span>></span>Include SDK - Using SoundCloud API<span><span></title</span>></span> </span> <span><span><span><script</span> src<span>="//connect.soundcloud.com/sdk.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span><span><span></body</span>></span> </span><span><span><span></html</span>></span> </span>
測試SDK是否正確加載到您的網頁中:
<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span> </span>>在瀏覽器中打開頁面(推薦Chrome)。
>在瀏覽器中打開開發人員控制台(
ctrl shift j>
打開SoundCloud應用程序頁面。在這裡,我們已經創建的任何應用程序都將被列出。確保您已登錄到SoundCloud帳戶。注意:您無需為此目的創建一個單獨的帳戶。您可以使用用於個人目的的相同帳戶。
> >
單擊
>單擊“大
>成功註冊後,我們將被重定向到新創建的應用程序的設置頁面。在那裡,我們將找到我們的應用程序的client id
.js文件中進行此操作。 javascript語法是:
>讓我們分解:
<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><title</span>></span>Include SDK - Using SoundCloud API<span><span></title</span>></span> </span> <span><span><span><script</span> src<span>="//connect.soundcloud.com/sdk.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span><span><span></body</span>></span> </span><span><span><span></html</span>></span> </span>
> client_id是在我們註冊應用程序時向我們提供的。
如果我們打開瀏覽器控制台和類型SC。 ,將出現與SC對象關聯的方法的列表。 sc.get(uri,callback)是其中之一,用於向API提出請求。
要獲取隨機曲目列表,我們可以使用SC.Get()這樣:
>請參閱codepen上的sitepoint(@sitepoint)的筆列表。
<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span> </span>>它的作用是,它查詢 /跟踪端點並期望回調函數。響應存儲在回調的響應參數中,該回答參數是具有多個屬性的JavaScript對象的數組,標題是其中之一。我們可以console.log(響應[0]),而不是循環查看整個對象及其屬性。然後,我們將知道我們可以訪問哪些屬性。
>
>注意,在此示例中,我們尚未在初始化期間指定回調URL。這是因為在這裡我們是否指定它並不重要。無論哪種方式,我們的代碼都可以正常工作。但是,當我們實現用戶login功能時,它將很重要,因此沒有人可以使用我們的客戶端ID。嵌入軌道
SC對象提供另一種方法,SC.Oembed(URL,選項,回調),該方法將SoundCloud播放器嵌入我們的網站中並允許我們播放我們選擇的跟踪。請參閱codepen上的sitepoint(@sitepoint)嵌入軌道的筆
>
創建回調頁>您可以按照自己的意願修改其消息和設計,但是就目前而言,我們將盡可能簡單地進行簡單:
中記錄用戶
sc.connect(回調)是實現用戶login功能的方法。它打開一個彈出窗口,提示用戶登錄到其SoundCloud帳戶。基本用法如下:
<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><title</span>></span>Include SDK - Using SoundCloud API<span><span></title</span>></span> </span> <span><span><span><script</span> src<span>="//connect.soundcloud.com/sdk.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span><span><span></body</span>></span> </span><span><span><span></html</span>></span> </span>一個更有趣的例子是:
讓我們分解:
<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span> </span>
>用戶登錄後,他們將被重定向到callback.html,我們之前創建了。
然後,彈出窗口將自動關閉,因為我們可以通過在callback.html中讀取代碼<span>SC.initialize({ </span> <span>client_id: "CLIENT_ID", </span> <span>redirect_uri: "CALLBACK_URL" </span><span>}); </span>來猜測。
之後,我們的回調函數將被調用,在該函數中,使用sc.get()method。
>一旦完成請求完成,其回調函數將執行並登錄到控制台。<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><title</span>></span>Include SDK - Using SoundCloud API<span><span></title</span>></span> </span> <span><span><span><script</span> src<span>="//connect.soundcloud.com/sdk.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span><span><span></body</span>></span> </span><span><span><span></html</span>></span> </span>
>下一個最重要的文件是script.js:所有魔術都發生在這裡。大多數代碼對我們來說都是熟悉的,但是讓我們快速瀏覽它:
<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span> </span>
<span>SC.initialize({ </span> <span>client_id: "CLIENT_ID", </span> <span>redirect_uri: "CALLBACK_URL" </span><span>}); </span>然後,我們將單擊事件處理程序連接到#Login按鈕。單擊時,將執行sc.connect(回調),該窗口打開彈出窗口,提示用戶登錄。 用戶登錄彈出窗口後,
<span>SC.get("/tracks", function(response) { </span> <span>for (var i = 0; i < response.length; i++) { </span> <span>$("ul").append("<li>" + response[i].title + "</li>"); </span> <span>} </span><span>}); </span>
>
如果未使用用戶蛋白功能,則可以使用較新的SDK版本。它使用承諾返回數據。>如何在SoundCloud上註冊申請以獲取客戶端ID?
>
替換'your_client_id'在您的註冊應用程序的client.client_id'。 >
>如何提出API請求以SoundCloud?
您可以使用SC.Get方法提出API請求。此方法採用兩個參數:端點和回調函數。終點是您要訪問的API資源的URL,並且在收到API響應時執行回調函數。提出API請求,可以使用捕獲方法來處理錯誤。此方法將函數作為參數,在發生錯誤時將執行。錯誤對像傳遞到此函數,允許您適當處理錯誤。
>如何暫停並恢復軌道?
暫停軌道,您可以在流上使用暫停方法目的。要恢復曲目,您可以再次使用播放方法。 >如何獲取曲目的詳細信息? 獲得曲目的詳細信息,您可以使用sc.get。方法並將軌道的URI作為參數傳遞。 API響應將包含曲目的詳細信息。搜索軌道,您可以使用sc.get方法並傳遞“/tracks”作為端點。您也可以傳遞查詢參數以過濾軌道。例如,要搜索具有標題“ My Track”的曲目,您可以使用以下代碼:
sc.get('/tracks',{q:'my track'})。然後(function function (tracks){
console.log(tracks);
});
sc.get方法並通過'/user/{user_id}/tracks'作為端點。用用戶的ID替換“ {user_id}”。 API響應將包含用戶的曲目。
>以上是將SoundCloud API與JavaScript SDK一起使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!