Instagram gem:如何获得下一页的结果?

时间:2012-05-26 09:15:07

标签: ruby-on-rails instagram

如何使用Instagram gem获得下一页结果?

API本身的文档说每个结果都传入了pagination哈希值(参见此处:http://instagram.com/developer/endpoints/)。如何使用gem访问它?

4 个答案:

答案 0 :(得分:10)

知道了。我不认为Instagram传回的pagination哈希值是可访问的,但您可以在查询时传入max_id选项,以获取下一组较旧的图片。

@results = Instagram.user_recent_media(some_user_id, {access_token: token, count: 10, max_id: 197679035065553721})

通过传入max_id(照片的ID),它将返回所有早于此的结果。因此,请从第一个查询中获取最旧照片的ID,然后将其传递到下一页。

注意:获得结果后,图片的ID将采用以下格式:197679035065553721_someuserid。您必须解析下划线之前的第一位,然后将其作为max_id传递。

答案 1 :(得分:7)

Instagram.tag_recent_media(params[:q]).pagination

运行该代码,您将看到分页属性。

答案 2 :(得分:1)

我已经研究过这个我自己的项目,最终发现你可以通过在创建客户端时将no_response_wrapper设置为true来让客户端给你分页信息:

client = Instagram.client(:access_token => accesstoken,
                          :no_response_wrapper => true)

这使得你可以像Yigit C. Bacakoglu建议的那样在响应中使用.pagination。

答案 3 :(得分:0)

你可能运气不好。如果您查看client modules,则可以看到方法返回响应的data字段,因此pagination字段不可用。还有an issue涉及回复中缺少分页信息。