使用Instagram API获取标签

时间:2013-08-26 02:10:03

标签: instagram

我正在尝试使用以下网址:https://api.instagram.com/v1/tags/snow/media/recent?access_token=x&min_id=x&max_id=x来获取一些图片及其ID。它工作正常,但我怎么能有更多的图像?我想要成千上万的图像,但我最多只能得到30张左右。我猜这与min_id和max_id有关,但我无法再获取更多图像。谁能帮助我?

编辑:我发现Instagram有20个结果限制。有没有办法使用C#,这将允许我获取总共X张图片的旧图片?

2 个答案:

答案 0 :(得分:2)

您需要在响应中使用分页属性来分页结果。在分页对象中查找next_url属性,以便调用下一个URL。

您可以在呼叫中添加计数参数,以指定每次呼叫接收的记录数。这个计数参数的最大值为50(或者可能是20)我想,我记不清确切的数字了。

因此,请返回前20条记录,然后调用next_url属性以获取指定标记的下20张图像。

查看您从Instagram获取的分页属性的回复:

{

    pagination: {"next_max_tag_id": "12345678", "next_max_id": "12345678",
    "next_min_id": "12345678",
    "min_tag_id": "12345678",
    "next_url": "THE URL WILL BE HERE"}

    data: {}

}

答案 1 :(得分:1)

使用Instasharp客户端库(https://github.com/InstaSharp/InstaSharp) 你可以这样做:

var tags = new Endpoints.Tags(Config);
var result = await tags.RecentMultiplePages("csharp", minTagId: null, maxTagId: null, maxPageCount: 3);

您可以检查result.RateLimitRemaining属性,以确保您不会因垃圾邮件行为而受阻。