如何使用Sound Cloud API按标签搜索特定用户的曲目?

use*_*348 9 php api json soundcloud

我想通过标签搜索仅与我的用户名相关的曲目,即皇家歌剧院.

例如:

http://api.soundcloud.com/users/royaloperahouse/tracks/?client_id=238947HSGDHSDG&tags=eric
Run Code Online (Sandbox Code Playgroud)

告诉我,我需要使用aq参数.为了幽默我搜索:

http://api.soundcloud.com/users/royaloperahouse/tracks/??client_id=238947HSGDHSDG&tags=eric&q=e
Run Code Online (Sandbox Code Playgroud)

并简单地从整个Sound Cloud中获取声音列表,而不仅仅是与我的用户相关的声音列表.同样,如果我尝试搜索曲目API(不是用户),并限制查询与&user_id我得到有关而不是一个具体的皇家歌剧院的所有用户的视频.

最终目的是找到皇家歌剧院上传的与特定艺术家有关的所有曲目.目前,我们解决它的方式是获取所有上传的曲目(目前为37个),并通过相关标签迭代这些曲目以匹配曲目.显然,随着我们的音乐列表的增长,这将开始成为一个问题.

谢谢.

Gui*_*Gui 1

我以前没有使用过这个API,但经过几次测试后我想我发现了你的问题。

您不应该使用用户作为第一个网址段,因为您不是在搜索用户,而是在搜索按用户名和标签过滤的曲目。

而是使用Tracks作为第一个 url 段,并使用q参数来过滤用户名。然后你也可以使用标签参数。

测试此网址: http: //api.soundcloud.com/tracks ?q=username&tags=tag

SC.get('/tracks/', {q:'royaloperahouse', tags: 'insights' },  function(result) { 
    console.log(result[0].tag_list);
});
Run Code Online (Sandbox Code Playgroud)

说实话我还是不明白q参数。在 API 文档中,您可以在曲目、用户等中找到有关它的参考资料,在搜索页面中,他们也讨论了它,但我没有找到任何有关 q 参数每种查询类型中过滤的内容的文档。Tracks 中是用户名(以及可能的用户 ID)

如果您正在使用此 API,您应该向 Google 群组中的 soundcloud 团队询问此参数的更多含义。