【问题标题】:How to retrieve Instagram username from User ID?如何从用户 ID 中检索 Instagram 用户名?
【发布时间】:2018-03-16 08:57:51
【问题描述】:

如何使用 Instagram 的 API 或网站从其 ID 中检索 Instagram 用户名?我得到了一个包含 Instagram 用户 ID 的数据库表,我需要知道他们的用户名。

【问题讨论】:

  • 欢迎来到 SO。该站点不是代码编写服务,也不旨在提供完整的解决方案。当 SO 在这里帮助您解决特定的编程问题时,用户应该表现出一些努力和代码。你已经尝试过什么了吗?请阅读:stackoverflow.com/help/asking
  • @MaciejJureczko 是的,我尝试了几种选择,但均未成功。我不是要代码...我是在问是否有人已经实现了这一点并且可以用他们的知识启发我,以便我自己实现它。

标签: instagram instagram-api


【解决方案1】:

可以使用https://i.instagram.com/api/v1/users/USERID/info(将 USERID 替换为用户 ID)。它返回一个 JSON,其中字段 user.username 是该用户的用户名。

安装curl和jq后,这个shell oneliner会直接返回用户名:

curl -s https://i.instagram.com/api/v1/users/USERID/info/ | jq -r .user.username

但是,请记住,这不是官方 API 端点。

【讨论】:

  • 谢谢!很酷的答案
  • @aandergr 此命令不再起作用,还有其他建议吗?
【解决方案2】:

您可以使用此 API(来自官方 instagram 网站)通过用户静态 id 获取 username

GET https://www.instagram.com/graphql/query/?query_hash=c9100bf9110dd6361671f113dd02e7d6&variables={"user_id": ${user_id}}

${user_id} 替换为实际用户ID。

const username = result.data.user.reel.owner.username

【讨论】:

  • 这不适用于没有卷轴的用户(即没有上传或保存的故事)
  • @btuso 该 api 已被官方 instagram 网站使用,并且是我唯一可以通过其用户 ID 获取用户名的地方。我从未检查过 instagram API,所以也许你能找到一些有用的东西来完成这项任务。
  • 查看@granitosaurus 的回复,它应该在所有情况下都获得用户名stackoverflow.com/a/56424242/2859270
  • 这很好@btuso 并使用instagram 应用程序(不是站点)端点。谢谢
【解决方案3】:

在继续之前,我想通知您,由于最近的经验,由于 instagram api 的最新更新,此“解决方案”不再可用,但我希望它对您有所帮助!

您可以通过 instagram api 通过端点访问您拥有 userId 的用户数据:https://api.instagram.com/v1/users/{user-id}/?access_token=ACCESS-TOKEN 但是,这需要 [public_content],这是一个需要被 instagram 接受的权限,以便您可以浏览 instagram 的所有“公共用户”,instagram 不再等待此权限。

您可以在此处了解有关 instagram 端点的更多信息:https://www.instagram.com/developer/endpoints/users/#get_users

【讨论】:

    【解决方案4】:

    Instagram 图形 API 在 2019 年 8 月 13 日,Instagram 引入了Business Discovery API,它允许您获取有关其他 Instagram 业务或 Creator IG 用户的数据。

    为此,您需要以下权限:

    1. instagram_basic
    2. instagram_manage_insights
    3. pages_read_engagementpages_show_list

    首先,您需要使用此查询获取您的 Instagram 商家 ID

     https://graph.facebook.com/v7.0/{your_instagram_id}?fields=instagram_business_account&access_token={your_access_token}
    

    然后您将获得 Instagram 业务 ID

    {
      "instagram_business_account": {
        "id": "17841430463493290"
      },
      "id": "101345731473817"
    }
    

    使用 Instagram 业务 ID 和您的访问令牌,您可以从用户名中获取任何人的用户 ID

    例子:

    https://graph.facebook.com/v7.0/17841430463493290?fields=business_discovery.username(zimba_birbal){id,username,followers_count,media_count}&access_token={your_access_token}
    

    回复:

        {
       "business_discovery": {
          "id": "17841401828704017",
          "username": "zimba_birbal",
          "followers_count": 166,
          "media_count": 36
       },
       "id": "17841430463493290"
    }
    

    【讨论】:

      【解决方案5】:

      需要修改用户代理(instagram app的代理),并使用一些浏览器网页,否则使用wget。

      wget --user-agent="Instagram 85.0.0.21.100 Android (23/6.0.1; 538dpi; 1440x2560; LGE; LG-E425f; vee3e; en_US" https://i.instagram.com/api/v1/users/*SOME_ID_INSTAGRAM*/info/
      

      在保存的“index.html”文件中找到您想要的用户名

      注意:要查找用户 ID,您可以将 ?__a=1 添加到个人资料 URL,例如:https://www.instagram.com/*SOME_USERNAME*/?__a=1

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-06
        • 2013-12-11
        • 1970-01-01
        • 2023-03-12
        • 2016-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多