我目前正在使用以下示例配置使用 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'
该命令的亮点是:
我获得的结果具有以下 created_time 字段:(我不放置原始结果,因为它会占用大量空间。我使用 jq( http://stedolan.github.io/jq/ )来提取 created_time 字段)。
正如您所看到的,在我使用的时间戳参数之外创建了一些结果(我在后面加了一个星号)。那么,这是媒体搜索 API 的预期行为吗?还是因为我的时间戳参数有问题(可能范围太近,请注意最大和最小时间戳之间的差异仅为 30 秒)。
最佳答案
我相信 Instagram 会将时间限制四舍五入到最接近的分钟。向下舍入最小值,向上舍入最大值。因此,查询中的时间范围跨越两分钟。因此,您的查询窗口实际上是 120 秒。你必须自己过滤掉额外的东西。
请记住,媒体搜索最多会返回 20 个结果。因此,您可能希望将该查询拆分为两个单独的查询,用于它跨越的 60 秒窗口中的每一个。我认为媒体搜索结果不会使用分页来显示其他结果。所以你真的不知道你丢失了多少数据。
关于Instagram API media/search/endpoint 返回时间范围外的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22348137/