2

我正在尝试使用查询(甚至是标签/流派过滤器)过滤单个 SoundCloud 用户的曲目。我可以获取用户的曲目,但是一旦我添加了查询参数,它就会返回所有声音云用户的曲目。

这不起作用:

SC.get('/users/00001/tracks', {q: 'Black Night'}, function(tracks) {
   // returns tracks from all soundcloud users which contain 'Black Night'
   // rather than the single user    
});

这也不是:

SC.get('/tracks', {user_id: '00001', q: 'Black Night'}, function(tracks) {
   // returns tracks from all soundcloud users which contain 'Black Night'
   // rather than the single user    
});
4

2 回答 2

1

soundcloud api 不能那样工作。

您可以按术语、流派、bpm、日期等搜索所有曲目,也可以获取用户资源(曲目、收藏夹、群组、关注者等)

搜索曲目或任何其他用户资源的最佳方法是获取所有结果,然后在结果中进行搜索。

在子资源下,您可以找到/users/{id}/tracks- 用户曲目列表

于 2013-02-25T14:24:15.783 回答
1

您将首先获得该特定用户的所有歌曲,因为您可以使用您使用的代码。

之后,您需要遍历刚刚检索到的所有歌曲并将tracks[i].genre分配给一个变量(比如说var track_genre)

接下来,检查 track_genre === myGenre(你给函数的参数,用户可以选择)

如果是这种情况,请继续并嵌入小部件

我想主要的收获是您可以使用“SC.get”访问您检索到的歌曲的流派并对其进行过滤,但您不能 SC.get 从特定用户那里获取特定流派。

无论如何,这就是我刚刚解决这个特殊问题的方法;我敢肯定会有更好的解决方案,但是这个很有效...... ;-)

于 2013-03-19T18:54:12.793 回答