我使用以下查询从soundcloud的API中获取一个曲目列表,以检索5个最受欢迎的曲目:
https://api.soundcloud.com/tracks?client_id=XXX&order=hotness&limit=5
但最近SoundCloud removed the hotness order。在博客文章中,他们说轨道可以通过playback_count进行排序。但是这可以在查询中完成,还是他们建议我下载整个SoundCloud库并在客户端中对它们进行排序?以下似乎不起作用:
https://api.soundcloud.com/tracks?client_id=XXX&order=playback_count&limit=5
那么如何在SoundCloud上检索顶部曲目?
答案 0 :(得分:4)
解决方案是使用未记录的调用来获取SoundCloud本身使用的资源管理器功能(我使用Chrome中的开发工具来检查AJAX调用)。
https://api.soundcloud.com/explore/sounds/category?limit=L&client_id=XXX
这似乎对歌曲的流行程度进行了某种排序。然后,通过选中“分组”属性,可以仅对音乐过滤歌曲。然后,我必须将ID列表解析为实际歌曲,这可以通过(记录的,官方的)API调用来完成:
https://api.soundcloud.com/tracks?ids=1,2,3&client_id=XXX
这似乎完美无缺,我也得到了流派之间均匀分布的额外好处。但是,当然,由于API调用没有记录,并且可能不适合公共使用,因此可以随时停止工作。
答案 1 :(得分:4)
只是想提供更新。似乎soundcloud已经转移到探索API调用的v2。
使用此选项获取类别列表:
https://api.soundcloud.com/explore/v2
这是从类别中获取曲目:
https://api-v2.soundcloud.com/explore/metal?limit=10&offset=0
到目前为止似乎没有钥匙,但我不知道会持续多久。
编辑:所以第二个网址似乎不允许交叉来源,但到目前为止这确实有效,尽管它只返回trackID而不是完整的信息
https://api.soundcloud.com/explore/v2/metal?limit=50&consumer_key=XXX
答案 2 :(得分:0)
点击此处,soundcloud已按hotness
删除订单。
Has order by hotness been removed from Soundclouds API
所以,目前只有order by date
是可能的。