我正在研究一个Instagram刮刀,我正在试图弄清楚是否有可能获得标签的所有照片,这些标签的ID或时间戳晚于我的最后一张。
Instagram API文档没用,因为它们没有关于分页的任何真实信息(我认为我不得不滥用)。
有没有人有任何想法?
答案 0 :(得分:0)
过去几天我一直在浏览Instagram API,所以这是我的2美分价值: 据我所知,如果用/ tags / tag-name / media / recent调用api,它只会返回一个列表。如果金额超过25,您必须使用上一个请求中返回的分页值发出另一个请求。
为了获得一些控制,我最初迭代所有图像并将结果(只是URL而不是实际图像)存储到数据库中。现在我可以操纵但是我想要。当我想要更新时(我现在手动完成但可能是一个cron作业或使用real-time api)我重新读取所有图像,与我在数据库中的内容进行比较并添加可能的新图像。我的应用程序然后从我的数据库中读取网址和信息(这比通过instagram api要快得多,每次请求只会返回大约25个图像 - 无论你输入的是什么'count'参数值请求网址并显示它。
我正在为一个客户开发这个,他们害怕人们使用他们的专用主题标签(比赛)发布nsfw或任何图片 - 通过上面的设置我可以为他们提供一个界面,他们可以检查和标记图像然后显示在应用程序中。
需要注意的一件事是当用户删除他的照片时;你必须找到一种检查方法。目前(因为我很懒)我加载所有图像并使用jquery检查加载图像时出错。如果有,我从DB中删除图像(通过ajax)。
我不确定分页会对你有所帮助:据我所知,分页响应与每页上实际图像对象的id无关 - 所以从理论上讲,分页ID会跳转到某个页面如果同时删除了足够的图像,页面(即日期)可能无法正常工作。
答案 1 :(得分:0)
获取所有图片而不是最新的20张图片,只需在您的api电话中附加& count = -1即可 - 就这么简单。 在任何一种情况下,每个json对象都有一个时间戳 - 或者如果您愿意,可以使用max_tag_id
点击我的帖子:there any way to show more than 20 photos of the instagram API?
* 2014年4月更新:count=-1
不再可用。