我正在尝试使用 Instagram API 为 Instagram 中的图像设置自定义宽度。我正在使用主题标签来获取所有相关的图像。我可以要求 Instagram 为我提供自定义图像尺寸吗?我知道有 3 种尺寸:缩略图、低分辨率、标准分辨率。这就是我所能得到的吗?谢谢!
5 回答
Instagram API 返回三种标准图像分辨率。还有一个额外的未记录的图像大小,您也可以使用,但是,这在未来可能会有点脆弱/可靠的变化,也可能违反他们的服务条款(不确定)。当我看到 Instagram 网站提供更高分辨率的图片时,我注意到这张图片是可用的——我不太确定 Instagram 为什么选择不提供这张图片。
从 API 中,您可以获得以下标准图像尺寸:
缩略图 (150 x 150)
低分辨率 (320 x 320)
标准分辨率 (640 x 640)
然后,通过查看他们的网站,我注意到他们提供了 1080 x 1080 的更大版本的文件:
无证大图 (1080 x 1080)
简单地在_5(或_6,即)上进行搜索和替换以获得您想要的大小(见下文):
图像尺寸似乎是:
http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_7.jpg
612 像素 × 612 像素
http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_6.jpg
306 像素 × 306 像素
http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_5.jpg
150 像素 × 150 像素
_8,_4,_3 似乎不是有效的尺寸。
Instagram 使用Amazon S3来保存其照片,并具有一定的命名约定,如下所示:
http://distilleryimage7.s3.amazonaws.com/f4947c1004ca11e2a0c81231380ff428_7.jpg
http://distilleryimage7.s3.amazonaws.com/f4947c1004ca11e2a0c81231380ff428_6.jpg
http://distilleryimage7.s3.amazonaws.com/f4947c1004ca11e2a0c81231380ff428_5.jpg
通过简单地通过 API 获取照片 URL,然后将图像 URL 中的 _7、_6、_5 更改为另一个值(通过搜索/替换),您可以控制图像的大小。
我知道这是一篇旧帖子,但我想我应该补充一点,可用的图像尺寸不止三个(或四个)。我写了一个简短的 Python 脚本,发现以下内容:
12 90 200 376 719
16 96 203 390 720
24 100 206 403 750
30 111 224 405 768
32 112 240 408 800
34 114 243 417 810
40 118 256 468 936
43 120 262 479 959
48 128 270 480 960
50 129 279 512 1008
56 130 280 515 1024
57 133 285 540 1029
60 135 288 562 1056
64 147 306 564 1080
68 148 319 599 1225
73 150 320 600 1300
74 160 332 624 1440
75 180 338 640 1536
80 190 350 672 2048
86 192 360 704
据我所知,高于 1080 的所有值(即 1225、1300、1440、1536、2048)都返回 1080。
我用一张方形照片对其进行了测试,所以我不知道不同纵横比会提供什么。
正如之前的海报所描述的,Instagram 无法以您需要的确切尺寸提供图像。它们只有三个或四个可用的默认尺寸。
您需要实现某种中间件来为您调整图像大小或使用https://tiny.pictures/之类的服务(免责声明:我是开发人员)为您完成。