SoundCloud API忽略持续时间过滤器

时间:2017-02-21 18:07:43

标签: python api dictionary soundcloud

https://developers.soundcloud.com/docs/api/reference#tracks的SoundCloud API文档之后,我开始在我的一个项目中编写SoundCloud API的实现。我尝试使用以下代码获取50个特定类型的音轨,最小长度为120000ms:

def get_starttracks(genres="Rock"):
    return client.get("/tracks", genres=genres, duration={
        'from': 120000
    }, limit='50')

SoundCloud使用有效的曲目列表进行响应,但其持续时间与给定的过滤器不匹配。

示例:

print(get_starttracks(genres="Pop")[0].fields()['duration'])
> 30000

api是否忽略了'持续时间'参数?或者我的代码中的过滤器中是否有错误?

Ps。:如果错误不在python代码中,可能与soundcloud search api ignoring duration filter?有关。

1 个答案:

答案 0 :(得分:0)

尝试通过对代码进行多处更改来解决此问题之后,我终于找到了问题:

一个错误。随着Soundcloud发布他们的“Go +” - 服务,一些官方曲目仅限于30秒的预览。 API过滤器似乎比较完整轨道的持续时间,而只是将预览版本发送回客户端(如果您没有订阅“Go +”和/或您的应用程序未登录)。

因此,按持续时间过滤的唯一方法是遍历所有收到的曲目:

Rewrite Base /