从Soundcloud轨道资源中检索Soundcloud用户资源

时间:2016-01-07 04:46:26

标签: python search soundcloud

我正在努力追溯'从给定的Soundcloud轨道资源对象到创建它的Soundcloud用户资源对象。鉴于我对Soundcloud API的理解,这就是我所做的。

1st:检索特定曲目

track = client.get('/tracks', title="White Lies (feat. Jenni Potts)",
                              limit=1)

这应该返回一个音轨的集合(由Odesza提供)。

第二名:从跟踪资源中收集有关曲目用户的信息

white_lies_perma = track[0].user["permalink"]
white_lies_uID = track[0].user["id"]

第三:使用上述过滤器(希望)获取用户

users = client.get('/users',
                id=white_lies_uID,
                permalink=white_lies_perma)

这应返回1个用户,但资源集合的长度为50(API默认值)。这很奇怪。

打印值:

for user in users:
    print(user.id)

79582

2684450

3765692

9918957

12470953

等...

这应该是长度为1的集合,包含一个id为18604897的资源。

此外,此代码应合理地返回"俄克拉荷马城"二十次。然而,当它运行时它给了我" Cape St Francis"," Augusta"," London U.K"。

client = soundcloud.Client(client_id='xxxxx')
okcUsers = client.get('/users',city="Oklahoma City",limit=20)
for okcUser in okcUsers:
    print okcUser.city

Soundcloud的API有问题吗?

1 个答案:

答案 0 :(得分:0)

不确定您是如何在第3次通话中实施这些过滤器的,但我认为您应该获得所需的信息

users = client.get('/users/%d' % white_lies_uID)

由于您不需要进行搜索,只需调用正确的/ users / endpoint即可。要查看特定用户可以使用哪些端点,请转到https://developers.soundcloud.com/docs/api/reference#users并向下滚动到用户包含的字段列表下方。在那里,您会看到一个端点列表,一旦您拥有用户ID,就可以调用这些端点。