Instagram会为肖像/风景图片提供方形缩略图吗?

Instagram会为肖像/风景图片提供方形缩略图吗?,instagram,instagram-api,Instagram,Instagram Api,我们的站点中有一个定制Instagram集成,其设计假定(目前取决于)它显示的图像是方形的 Instagram今天宣布,他们将支持横向和纵向照片。即使Instagram图像是纵向/横向的,是否也可以只加载方形图像/缩略图?是的 我只是花了些时间四处闲逛,发现了一些有趣的东西 简短回答:API仍然返回图像的方形版本,即使是作为肖像或风景上传的图像。如果您还需要原始的横向/纵向图像,则必须进行一些修改(详情如下),直到他们在API响应中对此进行了处理) 例:请看这张泰勒·斯威夫特的照片,这张照片是由

我们的站点中有一个定制Instagram集成,其设计假定(目前取决于)它显示的图像是方形的


Instagram今天宣布,他们将支持横向和纵向照片。即使Instagram图像是纵向/横向的,是否也可以只加载方形图像/缩略图?

是的

我只是花了些时间四处闲逛,发现了一些有趣的东西

简短回答:API仍然返回图像的方形版本,即使是作为肖像或风景上传的图像。如果您还需要原始的横向/纵向图像,则必须进行一些修改(详情如下),直到他们在API响应中对此进行了处理)

例:请看这张泰勒·斯威夫特的照片,这张照片是由IG博客/新闻稿中提到的一位用户上传的--@johnbenett

这是原始上传的照片-肖像512像素x640像素

以下是Instagram API为上述肖像图像返回的各种图像(包括缩略图)

  "images": {
    "low_resolution": {
      "url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s320x320/e35/c0.135.1080.1080/11909195_1715998838621946_791786043_n.jpg",
      "width": 320,
      "height": 320
    },
    "thumbnail": {
      "url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s150x150/e35/c0.135.1080.1080/11909195_1715998838621946_791786043_n.jpg",
      "width": 150,
      "height": 150
    },
    "standard_resolution": {
      "url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s640x640/sh0.08/e35/c0.135.1080.1080/11909195_1715998838621946_791786043_n.jpg",
      "width": 640,
      "height": 640
    }
因此,API为该肖像图像返回的标准分辨率图像是640 px square,如下所示

API为该肖像图像返回的低分辨率图像是320px正方形,如下所示

最后但并非最不重要的一点是,API为该肖像图像返回的缩略图是150px平方,如下所示

请注意照片的顶部和底部是如何裁剪的,使其成为640正方形。如果这就是你想要的,那么你就可以走了,你可以在这里停止阅读:)

进一步阅读 如果您还需要原始的纵向/横向图像,请继续阅读。最后还对视频进行了评估

如何获取上传为风景或肖像的照片的原始图像? 由于到目前为止API只返回1组图像,但该站点能够显示原始纵横比图像,因此我进行了一些挖掘,并意识到如果从方形图像的URL中删除
/c0.135.1080.1080
,则可以获得原始纵横比大小的未剪切图像

保持上述相同示例:

方形裁剪图像URL(由API返回)

肖像图像URL(通过修改方形图像URL获得)

希望这有帮助

我猜他们最终会更新API以返回方形图像和图像媒体类型的横向、纵向图像

视频呢? 我查看了以横向或纵向方式发布的视频。对于这些,
视频
阵列具有原始纵横比的视频,而
图像阵列
具有视频
海报
/缩略图的方形版本

示例:下面是一段风景视频:

API返回视频文件的横向分辨率:

  "videos": {
    "low_bandwidth": {
      "url": "https://scontent.cdninstagram.com/hphotos-xaf1/t50.2886-16/11912667_1635209236718259_43009002_s.mp4",
      "width": 480,
      "height": 599
    },
    "standard_resolution": {
      "url": "https://scontent.cdninstagram.com/hphotos-xaf1/t50.2886-16/11912667_1696545230566321_1671523019_n.mp4",
      "width": 640,
      "height": 799
    },
    "low_resolution": {
      "url": "https://scontent.cdninstagram.com/hphotos-xaf1/t50.2886-16/11912667_1635209236718259_43009002_s.mp4",
      "width": 480,
      "height": 599
    }
  }
以及视频海报图像/封面图像的方形图像

  "images": {
    "low_resolution": {
      "url": "https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s320x320/e15/11856717_420039798193500_1047568791_n.jpg",
      "width": 320,
      "height": 320
    },
    "thumbnail": {
      "url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s150x150/e15/c140.0.360.360/11848988_1472118453090746_1196959304_n.jpg",
      "width": 150,
      "height": 150
    },
    "standard_resolution": {
      "url": "https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/e15/11856717_420039798193500_1047568791_n.jpg",
      "width": 640,
      "height": 640
    }

因此,对于视频,您可以使用它,因为
图像
阵列具有方形图像,而
视频
阵列具有原始纵横比的实际视频。

据我所知,到目前为止,一切正常,但缩略图不会像Instagram应用程序那样被裁剪,您将看到白色边框


我们必须有几个额外的图像URL可以访问,但我在api文档中没有看到任何更新。

我正在使用一种获取方形图像的方法:

获取包含正确裁剪命令的缩略图url,然后将150x150替换为实际需要的图像大小

例如,横向图像缩略图的api响应:

    "thumbnail": {
      "url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s150x150/e35/c135.0.810.810/11909312_160908554245117_2021517224_n.jpg",
      "width": 150,
      "height": 150
    }
零件
c135.0.810.810
正在对一个正方形进行裁剪,我们希望保留该正方形,但是
s150x150
太小,因此用
s640x640
替换它可以使我们得到所需大小的裁剪正方形图像


如果您想更改此设置,可以使用裁剪命令-例如,将第一个数字设置为
0
将获得左对齐的裁剪图像。

更新。Instagram刚刚宣布了对横向/纵向照片的API支持。

默认情况下,该设置被禁用,API将继续以旧的方形格式返回介质。启用时,API将以实际共享的格式返回媒体,该格式可能是非方形的。“缩略图”图像将不受此设置的影响,它们将继续为方形

您现在无需更改任何内容,但从2016年6月1日起,所有客户将只接收实际共享格式的照片和视频

对于我的集成,我希望接收原始图像,因此在“编辑客户端”仪表板(Instagram dev app configuration)中启用了名为“迁移”的新设置

我做了一些测试,效果很好。以下是Instagram API返回的示例对象:

{
    'low_resolution': Image: https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/e35/p320x320/11849291_1520473841577439_1881145227_n.jpg,
    'standard_resolution': Image: https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/sh0.08/e35/p640x640/11849291_1520473841577439_1881145227_n.jpg,
    'thumbnail': Image: https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s150x150/e35/c0.135.1080.1080/11849291_1520473841577439_1881145227_n.jpg
}

这张图片看起来不一样:嘿@PedroCasado,“看起来不一样”是什么意思?我是否正确理解:肖像照片被裁剪成正方形,而风景照片上下都有白色条纹?我觉得有点矛盾。我本来也希望看到中央广场的风景照片;博士,这项技术(目前)只适用于人像照片,不适用于风景照片。你说的“效果很好”是什么意思?问题是Instagram API是否会为肖像/风景Instagram提供方形图像。这篇博文似乎表明默认情况是继续提供方形图像,但情况并非总是如此。在上面发布的URL中,只有缩略图是squar