10

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

例如:

http://api.soundcloud.com/users/royaloperahouse/tracks/?client_id=238947HSGDHSDG&tags=eric

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

http://api.soundcloud.com/users/royaloperahouse/tracks/??client_id=238947HSGDHSDG&tags=eric&q=e

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

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

谢谢。

4

3 回答 3

1

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

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

而是使用track作为第一个 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);
});

老实说,我仍然不了解q参数。在 API 文档中,您可以在曲目、用户等中找到有关它的引用,并且在搜索页面中他们也谈论它,但我还没有找到任何关于q参数在每种查询类型中过滤什么的文档。在 track 中是用户名(和可能的用户 ID)

如果你正在使用这个 API,你应该在他们的 google group 中询问 soundcloud 团队更多这个参数的含义。

于 2013-02-07T17:43:57.270 回答
0

首先,了解用户“id”和用户“permalink”的区别。它们都是唯一的用户标识符,但它们是具有不同目的的独立事物。您可以使用前者,但不能使用后者来访问曲目。所以而不是

http://.../users/royaloperahouse/...

你应该使用

http://.../users/12127832/...

如果您正在寻找其他艺术家,请将 12127832 替换为适当的 ID。此外,您可能应该将 JSON 指定为返回类型。总而言之,您的服务器调用应如下所示:

http://api.soundcloud.com/users/12127832/tracks.json?client_id=238947HSGDHSDG&tags=eric

另外:不要在 Stack Overflow 上发布您的客户 ID!!!

于 2014-04-26T19:50:47.017 回答
0

试试这个(你必须检查我的语法):

SC.get('/tracks/',array('user_id' => 'YOUR_ID', q:'royaloperahouse', tags: 'insights' ),  function(result) { 
    console.log(result[0].tag_list);
});

或者

SC.get('users/YOUR_ID/tracks/', {q:'royaloperahouse', tags: 'insights' },  function(result) { 
    console.log(result[0].tag_list);
});
于 2014-03-27T16:39:45.873 回答