Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用javascript在soundcloud上播放搜索的顶部结果_Javascript_Soundcloud - Fatal编程技术网

是否可以使用javascript在soundcloud上播放搜索的顶部结果

是否可以使用javascript在soundcloud上播放搜索的顶部结果,javascript,soundcloud,Javascript,Soundcloud,我寻找这个问题的答案已经有一段时间了,但我想不出来。我不确定这是否真的可能 基本上,我有一个指向sound cloud search()的URL,我想知道是否可以立即播放顶级结果或下载顶级结果。提前谢谢你 首先值得注意的是,Soundcloud有一个开发者API,特别是一个。他们有关于如何做到这一点的文档 然而,我不想为我的很多项目去注册应用程序。虽然这可能不是推荐的路线,但无论如何,我还是要添加它作为答案。如果查看“网络”选项卡,您可以看到有一堆请求,而您真正关心的是api-v2相关的请求。您

我寻找这个问题的答案已经有一段时间了,但我想不出来。我不确定这是否真的可能


基本上,我有一个指向sound cloud search()的URL,我想知道是否可以立即播放顶级结果或下载顶级结果。提前谢谢你

首先值得注意的是,Soundcloud有一个开发者API,特别是一个。他们有关于如何做到这一点的文档

然而,我不想为我的很多项目去注册应用程序。虽然这可能不是推荐的路线,但无论如何,我还是要添加它作为答案。如果查看“网络”选项卡,您可以看到有一堆请求,而您真正关心的是
api-v2
相关的请求。您应该找到一个类似以下内容的请求URL:

这是Soundcloud在幕后专门为其搜索API生成的API请求URL,您可以看到它在一系列GET参数中传递。我省略了我的特定凭据,但作为用户,您有自己的
客户端id
应用程序版本
,因此您只需将您的凭据放在那里即可

如果需要,您可以手动转到该URL,或者通过ajax向其发出GET请求,返回的是一个巨大的JSON,如下所示:

{
"artwork_url": "https://i1.sndcdn.com/artworks-000074083588-q3fg6e-large.jpg",
"commentable": true,
"comment_count": 113,
"created_at": "2014-03-05T01:47:32Z",
"description": "",
"downloadable": true,
"download_count": 100,
"download_url": "https://api.soundcloud.com/tracks/137970300/download",
"duration": 266996,
"full_duration": 266996,
"embeddable_by": "all",
"genre": "Mashup",
"has_downloads_left": false,
"id": 137970300,
"kind": "track",
"label_name": "",
"last_modified": "2017-04-26T13:01:05Z",
"license": "all-rights-reserved",
"likes_count": 6307,
"permalink": "rick-astley-never-gonna-give",
"permalink_url": "https://soundcloud.com/andreasedstr-m/rick-astley-never-gonna-give",
"playback_count": 596829,
"public": true,

深入其中,您将看到一个
集合
数组属性,其中包含结果。因为您只需要第一个,所以我们可以查看数组中的索引,其结果如下:

{
"artwork_url": "https://i1.sndcdn.com/artworks-000074083588-q3fg6e-large.jpg",
"commentable": true,
"comment_count": 113,
"created_at": "2014-03-05T01:47:32Z",
"description": "",
"downloadable": true,
"download_count": 100,
"download_url": "https://api.soundcloud.com/tracks/137970300/download",
"duration": 266996,
"full_duration": 266996,
"embeddable_by": "all",
"genre": "Mashup",
"has_downloads_left": false,
"id": 137970300,
"kind": "track",
"label_name": "",
"last_modified": "2017-04-26T13:01:05Z",
"license": "all-rights-reserved",
"likes_count": 6307,
"permalink": "rick-astley-never-gonna-give",
"permalink_url": "https://soundcloud.com/andreasedstr-m/rick-astley-never-gonna-give",
"playback_count": 596829,
"public": true,
在这里,您有两个选择——如果您愿意,您可以通过查看属性
download\uURL
下载它,或者您可以“播放它”。这一部分你可能想澄清你对游戏的定义。你可以打开Soundcloud页面,我相信它会自动播放,或者你可以将它嵌入到你的页面中,然后以某种方式触发播放。无论哪种情况,它都是可用的

要通过JavaScript实现这一点,您可能只需向上面的URL发出GET请求。我截断了下面的URL。请记住,您需要提供
客户端id
应用程序版本

$.ajax({
方法:“GET”,
网址:'https://api-v2.soundcloud.com/search?q=rick%20astley%20never%20gonna%20give%20you%20up',
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(数据){
//在这里做事
//如上所述,因为您关心上述属性中的第一个索引
//您很可能通过访问数据与它进行交互。集合[0]
}
})

非常感谢您!多亏了这一点,我才能够完成我的项目!