Instagram API媒体/搜索/端点返回超出时间范围的结果

ari*_*nto 5 instagram

我目前正在使用以下示例配置使用Instagram API媒体/搜索端点:

curl -XGET 'https://api.instagram.com/v1/media/search?
lat=1.3058866783157643&lng=103.88191223144531&distance=5000&
min_timestamp=1394615197&max_timestamp=1394615227&
access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Run Code Online (Sandbox Code Playgroud)

该命令的亮点是:

  1. min_timestamp = 1394615197
  2. max_timestamp = 1394615227

我获得的结果有以下created_time字段:(我不会把原始结果放在原因上,因为它会占用大量空间.我使用jq(http://stedolan.github.io/jq/)来提取created_time字段).

  1. "1394615279"*外部时间戳参数
  2. "1394615277"*
  3. "1394615270"*
  4. "1394615268"*
  5. "1394615251"*
  6. "1394615248"*
  7. "1394615246"*
  8. "1394615243"*
  9. "1394615241"*
  10. "1394615239"*
  11. "1394615232"*
  12. "1394615217"
  13. "1394615214"
  14. "1394615204"*
  15. "1394615204"*
  16. "1394615187"*
  17. "1394615180"*
  18. "1394615180"*
  19. "1394615179"*
  20. "1394615178"*

正如您所看到的那样,在我使用的时间戳参数之外创建了结果(我在后面添加了一个星号).那么,这是媒体搜索API的预期行为吗?或者是因为我的timestamp参数有问题(范围太近也许,注意最大和最小时间戳之间的差异只有30秒).

小智 2

我相信 Instagram 将时间限制四舍五入到最接近的分钟。最小值向下舍入,最大值向上舍入。因此,查询中的时间范围跨越两分钟。所以,你的查询窗口实际上是 120 秒。您必须自己过滤掉多余的内容。

请记住,媒体搜索最多返回 20 个结果。因此,您可能希望针对其跨越的 60 秒窗口中的每一个,将该查询拆分为两个单独的查询。我不认为媒体搜索结果使用分页来显示其他结果。所以你并不真正知道你丢失了多少数据。