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

Posted

技术标签:

【中文标题】Instagram gem:如何获得下一页结果?【英文标题】:Instagram gem: how to get next page of results? 【发布时间】:2012-05-26 09:15:07 【问题描述】:

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

API 本身的文档说每个结果都有一个pagination 散列传递(见这里:http://instagram.com/developer/endpoints/)。如何使用 gem 访问它?

【问题讨论】:

【参考方案1】:

知道了。我不认为 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 传递。

【讨论】:

可以在 API 响应中访问分页。虽然文档没有提到这一点,但当您使用 Instagram gem 时,返回的哈希除了包含 data 项目外,还包含 pagination 项目。 有关结果结构的一般信息,请参阅instagram.com/developer/endpoints。这也提到了支持分页的端点的pagination 属性。 是否可以通过指定每页的响应数(在 phpjavascript 中)来显示和示例以在下一页加载下一个最旧的 instagram api 集?【参考方案2】:
Instagram.tag_recent_media(params[:q]).pagination

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

【讨论】:

【参考方案3】:

我为我自己的一个项目对此进行了研究,最终发现您可以通过在创建客户端时将 no_response_wrapper 设置为 true 来让客户端为您提供分页信息:

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

这样您就可以按照 Yigit C. Bacakoglu 的建议在响应中使用 .pagination。

【讨论】:

【参考方案4】:

你可能不走运。如果查看client modules,可以看到这些方法正在返回响应的data 字段,因此pagination 字段不可用。还有an issue 提到回复中缺少分页信息。

【讨论】:

以上是关于Instagram gem:如何获得下一页结果?的主要内容,如果未能解决你的问题,请参考以下文章

python下用selenium的webdriver包如何在执行完点击下一页后获得下一页新打开页面的html源代码呢?

如何控制哪个等待线程获得下一个锁?

如何使用 instagram api/gem 模拟实际服务为方法编写测试?

Javafx 。如何获得下一个元素非焦点丢失

如何在php中获得下个月的同一天

使用 Instagram gem 获取所有用户的图片