通过Instagram API获得1080x1080张照片

Ada*_*ack 25 instagram instagram-api

http://www.theverge.com/2015/7/6/8899807/instagram-1080p-pictures-photo-upload

Verge最近公布了Instagram的最新应用版本正在以1080x1080分辨率上传照片.浏览网站的源代码时,可以通过HTML轻松获取这些照片.可以通过官方Instagram API访问这些吗?如果是这样,怎么样?

Man*_*nny 22

[更新] 2018年3月23日之后

我使用了Ekrem Gurdal的答案来使它工作:

IG API为您提供"链接"属性,例如https://www.instagram.com/p/BTduOwSAwN6/

然后你可以追加?__ a = 1,例如https://www.instagram.com/p/BTduOwSAwN6/?__a=1

并且您可以从存储高分辨率照片的json结果中提取:graphsql.shortcode_media.display_url

例如https://instagram.fmnl2-1.fna.fbcdn.net/vp/f8f54b9fcb2bca69d7c73d9ffb232d64/5C324A1C/t51.2885-15/e35/18161146_397673830625587_2385146908864675840_n.jpg

希望这可以帮助.也许IG伙伴们也会找到一种方法来禁用它.为什么他们不只是在API响应中包含高分辨率照片,smh

[更新]截至2018年3月23日,下面的解决方法不再适用.

只是为了更新2018年正在考虑这个问题的人.对我有用的解决方案是在将分辨率替换为1080x1080之后删除"vp /".

例如

https://scontent.cdninstagram.com/vp/41d5aee08758061976d26e48f45e673a/5ADA338E/t51.2885-15/s320x320/e35/20065394_1785212551507111_5192354829363576832_n.jpg
Run Code Online (Sandbox Code Playgroud)

https://scontent.cdninstagram.com/41d5aee08758061976d26e48f45e673a/5ADA338E/t51.2885-15/s1080x1080/e35/20065394_1785212551507111_5192354829363576832_n.jpg
Run Code Online (Sandbox Code Playgroud)

  • 这也已修补,现在返回"拒绝访问". (4认同)
  • 好吧,只有一段时间 - 现在我们收到了 400 条尝试使用此解决方法的消息...感谢 Instagram/Facebook 的每个人提供的不稳定、不受支持和无用的限制 API,你们让我的生活如此难忘:-/ (2认同)
  • 投反对票。自 2019 年 3 月起不再有效,您会收到“URL 格式不匹配”​​错误。 (2认同)

seb*_*n.b 15

不知道你为什么要投票,但不是,目前API还没有返回该决议.但是,它可以从API返回的其他分辨率中"猜测",但这可能随时发生变化.例如,给定标准分辨率JSON:

  "standard_resolution": {
    "url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s640x640/e35/sh0.08/11370971_837216559694773_771634899_n.jpg",
    "width": 640,
    "height": 640
  }
Run Code Online (Sandbox Code Playgroud)

删除大小部分(s640x640此处)和后面的两个路径(e35/sh0.08对于此图片,可能与您的不同)最终得到以下URL 1080x1080:

    https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/11370971_837216559694773_771634899_n.jpg
Run Code Online (Sandbox Code Playgroud)

自从我的帐户激活该决议以来,这已经奏效了.但同样,我只是等待API.


Gan*_*ddy 8

截至2018年3月26日,Instagram改变了他们的链接.这是一个从API获取1080x1080分辨率图像的工作解决方案.

  1. 从中获取user_Id https://www.instagram.com/{username}/?__a=1.

  2. 将user_id粘贴到此链接中https://i.instagram.com/api/v1/users/{user_id}/info/.

  3. 从中获取高清网址链接hd_profile_pic_url_info.:)