5

我正在使用的具体示例:

http://api.soundcloud.com/users/dubstep/tracks.json?client_id=YOUR_CLIENT_ID

您将获得他们的前 50 首曲目,但没有像您在 xml 版本中看到的那样的 next-href 对象。

但是,您可以使用偏移量和限制,它可以按预期工作 - 但是我需要“盲目地”爬过轨道,直到没有更多的轨道,这与为您提供“下一页”结果的 XML 版本不同。我什至不会注意到它是分页的,除非我在搜索 json 对象时偶然发现它正好有 50 条轨道(这甚至是可疑的)。

是否有计划支持 json 中的 next-href 标签?我错过了什么吗?它是一个缺少的错误吗?

4

3 回答 3

14

您可以使用一个未记录的参数linked_partitioning=1,它将添加next_href到响应中。

http://api.soundcloud.com/users/dubstep/tracks.json?client_id=YOUR_CLIENT_ID&linked_pa​​rtitioning=1

于 2013-03-06T22:58:53.050 回答
1

例如:

// build our API URL
$clientid = "Your API Client ID"; // Your API Client ID
$userid = "/ IDuser"; // ID of the user you are fetching the information for

// Grab the contents of the URL
//more php get
$number="1483";

$offset=1300;
$limit=200;

$soundcloud_url = "http://api.soundcloud.com/users/{$userid}/tracks.json?client_id={$clientid}&offset={$offset}&limit={$limit}";
$tracks_json = file_get_contents($soundcloud_url);
$tracks = json_decode($tracks_json);


foreach ($tracks as $track) {
    echo "<pre>";
     echo $track->title . ":";
    echo $track->permalink_url . "";
    echo "</pre>";
}
于 2015-12-20T23:54:32.460 回答
0

我已经看到这段代码应该有所帮助(这是在 Ruby 中):

# start paging through results, 100 at a time
tracks = client.get('/tracks', :order => 'created_at', :limit => page_size,
                    :linked_partitioning => 1)
tracks.each { |t| puts t.title }

但是,第一组结果将显示,我什至会在响应末尾看到“next_href”,但是您应该怎么做才能显示下一组结果?

于 2015-03-29T00:48:17.343 回答