【问题标题】:How to get an Instagram user's profile picture url?如何获取 Instagram 用户的个人资料图片网址?
【发布时间】:2021-03-01 07:40:59
【问题描述】:

我有一个应用,我们使用 Facebook 登录,并让我们的用户通过 Instagram 基本显示 API 连接他们的 Instagram 帐户。

所以我为每个用户都有一个 Instagram 基本显示访问令牌,并且我有他们的“帐户 ID”,但我不知道如何通过此 API 获取用户的个人资料图片?

【问题讨论】:

    标签: api instagram


    【解决方案1】:

    如果您可以获取用户username,您可以将此链接用作GET 请求:https://www.instagram.com/username/?__a=1

    示例将是:

    https://www.instagram.com/instagram/?__a=1 
    

    然后你得到用户instagram的用户信息

    您会在"profile_pic_url" 中获得图片的来源URL:和消息Body 中的"profile_pic_url_hd",这是指向头像的链接 ,希望对您有所帮助。

    【讨论】:

    • 这在 Instagram 速率限制您的 IP 之前有效。在打了几次电话后,我注意到我的请求开始失败。如果真的没有官方 api,我想结合一些代理,这是一个选项。
    • 也许使用 profile_pic_url 然后通过developers.facebook.com/docs/instagram-basic-display-api/… 查找图像? (不确定用户的个人资料图片是否也可作为用户媒体的一部分而不仅仅是元数据)
    • TLDR 是它不再有效或仅在您登录帐户后才有效。关注这个话题:*.com/questions/49265339/…
    【解决方案2】:

    您是否集成了 Instagram 的 Graph API? 参考:https://developers.facebook.com/docs/instagram-basic-display-api/reference/user

    【讨论】:

    • 是的,我正在使用这个 api 来获取用户的 instagram 用户名。但是这些文档只指定了 4 个可以查询的字段; account_type、id、media_type、用户名。似乎没有 profile_picture_url 字段,但感觉(我希望)应该可以在某个地方访问它。
    • 查看这个帖子*.com/a/41494968/4439983,可能对你有帮助
    • 是的,我读过。由于 instagram 的 api 在过去几年中发生了很大变化,因此旧技术已经过时。最近的解决方案是我正在做的事情,但意识到 Instagram 速率限制请求,所以我必须拨入一个代理场来路由我的请求,以免像发出大量请求一样被阻止。我已经实现了一个解决方案,它确实会击中用户的个人资料图片,我只是觉得他们的解决方案必须是一种更好更强大的方式,但也许不是。
    【解决方案3】:

    因为您拥有用户访问令牌,这意味着您可以拥有用户 Instagram id。

    GET graph.facebook.com/v10.0/{instagram-user-id}
    response : {.....,
                has_profile_picture: bool type 
                profile_pic : url sting type
                ....
               }
    

    上述 API 将为您提供帮助,如需更多信息,您可以点击以下链接,其中包含获取用户详细信息所需的所有信息。 https://developers.facebook.com/docs/graph-api/reference/instagram-user/

    【讨论】:

    • 我试过这个。我通过基本显示 API 登录的用户从我的用户那里获得的令牌和 user_id 与此图形 API 不兼容
    最近更新 更多