【问题标题】:What exactly are the parameters for Instagram's endpoint: /tags/tag-name/media/recentInstagram 端点的参数究竟是什么:/tags/tag-name/media/recent
【发布时间】:2023-03-08 14:19:01
【问题描述】:

我注意到 Instagram 的 Python 库和 API 有点不同。

文档中的 API 请求:

/tags/tag-name/media/recent

发现于:https://instagram.com/developer/endpoints/tags/

该页面显示 3 个参数:

COUNT:要返回的标记媒体计数。

MIN_TAG_ID:返回此 min_tag_id 之前的媒体。

MAX_TAG_ID:在此 max_tag_id 之后返回媒体。

我的代码:

recent_media, next_ = api.tag_recent_media(50, 10000, "cars")

库文档:https://github.com/Instagram/python-instagram

记录的语法:

api.tag_recent_media(count, max_tag_id, tag_name)

问题:

  1. 无论我输入多大的count,它总是返回33。我在限制页面上看不到33:https://instagram.com/developer/limits/

  2. 不管我用什么max_tag_id,都没有效果。

【问题讨论】:

    标签: python instagram


    【解决方案1】:

    虽然 Python 库最近才拥有 marked as unmaintained,但在您提出问题之前的大多数提交要么微不足道,要么只影响了 examples/README

    是的,count 参数似乎是有限的,尽管缺乏文档,在 33。显然,一些 Instagram API 端点used to accept -1 并返回所有相关媒体,尽管这在很久以前被删除/更正了。

    此外,由于新的算法时间线(它确实应用于此端点,我试图将其用于工作),您可能会收到已看到最近活动但已有数年历史的结果。我已经从 2013 年的第一批 33 中获得了至少一个标签的结果。

    我发现在该端点上唯一有用的参数是 count,尽管如您所见,您只能在返回的数据中遇到一个小问题。

    我建议坚持使用requests library 从 Python 访问 IG 的 API。对于分页,您可以使用 pagination 字典中的 next_url 值(如果没有下一页,则不存在),而无需传递任何额外的参数或尝试处理令人讨厌的钝的 *_tag_id 参数。

    requests 的基本 API 用法:

    import requests
    
    response = requests.get(
        url='https://api.instagram.com/v1/tags/{tagname}/media/recent'.format(tagname='testing'),
        params={
            'access_token': YOUR_TOKEN,
            'count': 33,
        }
    ).json()
    

    【讨论】:

      猜你喜欢
      • 2017-03-21
      • 1970-01-01
      • 2016-07-10
      • 2014-01-04
      • 1970-01-01
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      相关资源
      最近更新 更多