Я пытаюсь установить пользовательскую ширину для изображений в Instagram, используя Instagram API. Я использую хэштег, чтобы получить все связанные изображения. Могу ли я попросить Instagram предоставить мне нестандартные размеры изображений? Я знаю, что есть 3 размера: эскиз, низкое разрешение, стандартное разрешение. Это все, что я могу получить? Спасибо!
Пользовательская ширина изображения Instagram API
Ответы (5)
Просто выполните поиск и замените на _5 (или _6, т.е.), чтобы получить желаемый размер (см. ниже):
Размеры изображения выглядят следующим образом:
http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_7.jpg< /сильный>
612px × 612px
http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_6.jpg< /сильный>
306px × 306px
http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_5.jpg< /сильный>
150px × 150px
Похоже, что _8,_4,_3 недопустимые размеры.
distilleryimage*
имена хостов.
- person Martin Thurau; 05.02.2016
Instagram API возвращает три стандартных разрешения изображения. Существует дополнительный недокументированный размер изображения, который вы также можете использовать, однако это может быть немного хрупким / ответственным изменением в будущем, а также может противоречить их условиям обслуживания (не уверен). Я заметил, что это изображение было доступно, когда увидел, что веб-сайт Instagram предлагает изображения с более высоким разрешением. Я не совсем понимаю, почему Instagram решил не делать это изображение доступным.
Из API вы можете получить следующие стандартные размеры изображений:
миниатюра (150 x 150)
низкое_разрешение (320 x 320)
стандартное разрешение (640 x 640)
Затем, заглянув на их веб-сайт, я заметил, что они предоставили увеличенную версию файла с разрешением 1080 x 1080:
недокументированное большое изображение (1080 x 1080)
2048x2048
: scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s2048x2048/ Но он просто доставляет 1080x1080
. Я предполагаю, что 2048-квадрат предоставляется, если исходное изображение было больше или равно (как по ширине, так и по высоте), чем это, или в противном случае возвращается к следующему более низкому разрешению.
- person Foo Bar; 03.09.2017
/sh0.40/
.
- person Foo Bar; 03.09.2017
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
Просто получив URL-адрес фотографии через API, а затем изменив _7, _6, _5 в URL-адресе изображения на другое значение (через поиск/замену), вы можете контролировать размер изображения.
distilleryimage*
имена хостов.
- person Martin Thurau; 05.02.2016
Как описывалось в предыдущих постах, Instagram не может показывать изображения именно того размера, который вам нужен. У них есть только три или четыре размера по умолчанию.
Вам потребуется внедрить какое-то промежуточное ПО, которое изменяет размеры изображений для вас, или использовать такой сервис, как https://tiny.pictures/ (отказ от ответственности: я являюсь разработчиком), чтобы сделать это за вас.
Я знаю, что это старый пост, но я подумал, что должен добавить, что доступно гораздо больше, чем три (или четыре) размера изображения. Я написал короткий скрипт 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.
Я тестировал его с квадратной фотографией, поэтому не знаю, что будет доступно с разными соотношениями сторон.