0

我正在为某个东西开发一个 instagram 刮刀,我试图弄清楚是否有可能获取一个标签的所有照片,这些照片的 id 或时间戳晚于我拥有的最后一张。

instagram API 文档毫无用处,因为它们没有任何关于分页的真实信息(我认为我将不得不滥用)。

有没有人有任何想法?

4

2 回答 2

0

在过去的几天里,我一直在通过 Instagram API 苦苦挣扎,所以这是我的 2 美分:据我所知,如果你用 /tags/tag-name/media/recent 调用 api,它只会返回一个列表如果项目。如果数量超过大约 25,您必须使用上一个请求中返回的分页值发出另一个请求。

为了获得一些控制,我最初会遍历所有图像并将结果(只是 URL,而不是实际图像)存储到数据库中。现在我可以随心所欲地操纵。当我想更新时(我现在手动进行,但可能是一项 cron 工作或使用实时 api)我重新读取所有图像,与我的数据库中的内容进行比较并添加可能的新图像。然后我的应用程序从我的数据库中读取 url 和信息(顺便说一句,这比通过 instagram api 快得多,每个请求只会返回大约 25 张图像 - 无论您输入的任何“计数”参数值如何请求 url) 并显示它。

我正在为一个害怕人们使用他们的专用主题标签(用于比赛)发布 nsfw 或任何图片的客户开发这个 - 通过上述设置,我可以为他们提供一个界面,他们可以检查和标记然后显示的图像应用程序。

需要注意的一件事是当用户删除他的图片时;您将不得不找到一种方法来检查这一点。目前(因为我很懒)我加载所有图像并使用 jquery 检查加载图像的错误。如果有,我会从数据库中删除图像(通过 ajax)。

我不确定分页是否会对您有所帮助:据我所知,分页响应与每页上实际图像对象的 id 无关 - 所以理论上跳到某个页面的分页 id(即如果同时删除了足够多的图像,则明天可能无法使用。

于 2013-04-17T22:09:38.030 回答
0

要获取所有图像而不是最新的 20 张,只需将 &count=-1 附加到您的 api 调用 - 就这么简单。在任何一种情况下,每个 json 对象都有一个时间戳 - 或者如果您愿意,您可以使用 max_tag_id

在这里查看我的帖子:有什么方法可以显示 20 多张 instagram API 的照片?

* 2014 年 4 月更新count=-1不再可用。

于 2013-06-20T09:56:57.327 回答