Instagram API分页:下一页

时间:2016-09-21 12:04:56

标签: java instagram instagram-api

我正在尝试使用this Instagram端点通过标记获取所有最近的媒体。这里的目的是跟踪标签的所有最新媒体。我已经配置了一个计划任务(使用Java和Spring)(每小时执行一次)发送请求并获取数据。以下是执行顺序:

  • 将GET请求发送到Instagram并先前存储max_tag_id(如果之前没有以前的ID,则发送为null)
  • 遍历结果,从分页元素中提取next_max_tag_id并将其存储在数据库中以对应相应的标记
  • 使用新的max_tag_id再次发送GET请求并继续
  • 如果结果中的next_url为空或返回的介质数小于20(已配置),则停止

执行完成后,下次执行(在让我们说一小时之后)将从之前存储的max_tag_id开始。

我看到的问题是,我最近没有得到过'后续执行中的文件。根据文档,在请求中传递max_tag_id应返回之后的所有媒体,但它不会发生。我一直在寻找旧媒体。

如果我想在每次执行中获取最新文档,我是否需要在每次执行的第一个请求中传递null max_id?如果我这样做,每次执行都不会得到多余的文件吗?我试过要求Instagram,但没有得到任何回应。此外,他们的文档很少解释分页。不确定最近媒体端点的分页是否会倒退。

1 个答案:

答案 0 :(得分:1)

如果你想让最近的人不使用max_tag_id,如果你使用max_tag_id,它将返回之前所有的媒体。

您需要获取min_tag_id并存储它,在接下来的一小时内通过仅使用min_tag_id拨打电话,如果有pagination.next_url,则使用它来获取下一组20 ,直到pagination.next_url不存在....使用存储的min_tag_id在下一个小时拨打电话。

第一次拨打电话时没有max_tag_idmin_tag_id

你也可以设置&count=32,在每个API调用中获得32个帖子,(根据我的经验,最多32个)