4

当前情景

我已经构建了一个从特定主题标签中收集 Instagram 图像的应用程序。我使用分页来获取所有图像,并将数据(不是图像)本地存储在数据库中。应用程序的第一次调用会收集所有图像。随后的调用仅收集那些比本地数据库中的最新图像更新的图像。否则,我需要发出数千个请求来浏览流行标签上的所有图像。如果图像出现在应用程序中没有太多延迟,则需要每隔几分钟完成一次。出现的问题是,当用户在旧图像上添加标签时,我的应用程序不会获取这些图像 - 因为 only-fetch-new-images 性能构造。

尝试解决

我查看了实时 API,但在我看来,它的构造方式使其无法使用。这是它在标签的实时更新中发送的内容:

{
    "subscription_id": "2",
    "object": "tag",
    "object_id": "nofilter",
    "changed_aspect": "media",
    "time": 1297286541
}

我原以为会有一个媒体 ID 列表,代表新的/更改的内容,我可以从中获取实际内容 - 但没有。我目前的解决方案是每隔几分钟获取一次新内容,然后每小时进行一次全面重新扫描。从用户和性能的角度来看,这都是次优的。

问题

难道真的不能用更优雅的方式来做吗?我很欣赏 Instagram 不会在实时更新中发送完整的内容,但发送 ID 在有效负载大小方面应该不是问题。在这方面,API 似乎毫无用处——我能想到的唯一用例是“你的标签手表上有新内容”通知。

最好的,托本

4

2 回答 2

0

使用参数对标签的最近媒体进行分页,以min_tag_id根据标签的时间而不是照片的拍摄时间对结果进行排序。我们将它与silarapp.com上的实时 api 结合使用,效果很好。

来自Instagram Api 文档(我的重点):

获取最近标记的媒体列表。请注意,此媒体是按使用此标签标记媒体的时间排序的,而不是按发布的顺序排序的。在分页响应中使用 max_tag_id 和 min_tag_id 参数对这些对象进行分页。可以返回图像和视频类型的混合。

于 2014-01-09T14:33:48.930 回答
0

我对地理搜索所做的是,每次我获得更新包时,我都会查询最近的地理端点。这工作得很好。我猜这也是标签订阅的想法,您是否尝试过查询最近的 instagrams 标签端点?

/tags/[tag-name]/media/recent
于 2013-11-27T14:41:47.583 回答