代码之家  ›  专栏  ›  技术社区  ›  alex

过滤一个用户的曲目时出现Soundcloud API错误

  •  2
  • alex  · 技术社区  · 12 年前

    我正试图通过查询(甚至是标签/流派过滤器)过滤单个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    
    });
    
    2 回复  |  直到 12 年前
        1
  •  1
  •   mlemay    12 年前

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

    之后,您需要循环浏览刚刚检索到的所有歌曲,并将tracks[i].typer分配给一个变量(比如var track_genre)

    接下来,检查track_genre==myGenre(您为函数提供的参数,用户可以选择)

    如果是这样的话,继续并嵌入小部件

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

    不管怎么说,这就是我绕过这个特殊问题的方法;我相信会有更好的解决方案,但这一个很有效…;-)

        2
  •  1
  •   cucko    12 年前

    soundcloud api不是这样工作的。

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

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

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