1

我正在尝试使用以下 URL: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 张图片的旧图片?

4

2 回答 2

2

您将需要在响应中使用 pagination 属性来对结果进行分页。next_url在分页对象中查找下一个要调用的 url的属性。

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

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

查看您从 Instagram 获得的 pagination 属性的响应:

{

    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: {}

}
于 2013-08-26T20:13:59.703 回答
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 属性,以确保您不会因垃圾邮件行为而被阻止。

于 2014-08-29T21:10:15.797 回答