>
>要使用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中文网其他相关文章!