【问题标题】:Instagram API Pagination : Next pageInstagram API 分页:下一页
【发布时间】:2016-09-21 12:04:55
【问题描述】:

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

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

一旦执行完成,下一次执行(假设一个小时后)将从之前存储的 max_tag_id 开始。

我看到的问题是,我在随后的处决中从来没有得到“最近”的文件。根据文档,在请求中传递max_tag_id 应该返回所有媒体之后该ID,但它没有发生。我一直在使用旧媒体。

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

【问题讨论】:

    标签: java instagram instagram-api


    【解决方案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 个)

    【讨论】:

    • 感谢 Krisrak 的精彩回答,你是救生员 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    相关资源
    最近更新 更多