如何通过遵循URI来获取结果的下一页

时间:2015-03-24 08:42:31

标签: ruby api soundcloud partitioning

" SoundCloud API将于2015年3月2日放弃对基于偏移的分页的支持,转而支持链接分区。

要翻阅JSON响应,请将linked_pa​​rtitioning = 1参数与您的请求一起传递,如果有其他结果,它将返回一个集合以及next_href属性。要获取结果的下一页,只需遵循该URI即可。如果响应不包含next_href属性,则表示已达到结果的末尾。"

我试图用soundcloud api在ruby中做这个。我知道最大结果是200,但如果我搜索到500,我会逐字地看到" next_href"在回应中。是否可以继续搜索?如果有可能,我该怎么做? 当我尝试调用它时,我最终得到语法错误":未定义的方法`title'"或者不是所要求的结果数量。

1 个答案:

答案 0 :(得分:0)

当您请求资源集合(例如:搜索结果,流跟踪)时,如果您没有再次获得完整集合,则在响应中会出现一个名为next_href的字段。这是一个指向同一集合的下一页的URL。每个后续页面都会显示next_href,直到您到达结尾,并且不存在任何页面。举个例子:

/users/2/tracks.json?limit=10

{
  "collection": [ { id: 123, title: ... }, { id: 456 ... }, ... ],
  "next_href": "https://api.soundcloud.com/users/2/tracks.json?limit=10&offset=10"
}

我不太清楚你的意思:

  

当我尝试调用它时,我最终得到语法错误“:undefined method`title'”或者不是所请求的结果数量。

这听起来像是红宝石代码中的错误。