如何使用Instagram gem获得下一页结果?
API本身的文档说每个结果都传入了pagination
哈希值(参见此处:http://instagram.com/developer/endpoints/)。如何使用gem访问它?
答案 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涉及回复中缺少分页信息。