【问题标题】:Fetching tags with Instagram API使用 Instagram API 获取标签
【发布时间】:2013-08-26 02:10:03
【问题描述】:

我正在尝试使用以下 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 数量的图片?

【问题讨论】:

    标签: instagram


    【解决方案1】:

    您需要在响应中使用 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: {}
    
    }
    

    【讨论】:

    • 非常感谢您,但是获取接下来 20 张图片的下一个网址到底是什么?
    • 您需要在从 Instagram 返回的响应中查看分页中的 next_url 属性。我在上面的答案中添加了一个示例。
    【解决方案2】:

    使用 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 属性,以确保您不会因垃圾邮件行为而被阻止。

    【讨论】:

      猜你喜欢
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多