Пользовательская ширина изображения Instagram API

Я пытаюсь установить пользовательскую ширину для изображений в Instagram, используя Instagram API. Я использую хэштег, чтобы получить все связанные изображения. Могу ли я попросить Instagram предоставить мне нестандартные размеры изображений? Я знаю, что есть 3 размера: эскиз, низкое разрешение, стандартное разрешение. Это все, что я могу получить? Спасибо!


person Bob    schedule 24.12.2012    source источник
comment
Я думаю, вам придется изменить размеры изображения самостоятельно... Однако я еще не смотрел на API.   -  person 1789040    schedule 24.12.2012
comment
Мне нужно, чтобы Instagram показывал мне изображения определенных размеров. Это возможно?   -  person Bob    schedule 24.12.2012
comment
Я думаю, вам придется захватить изображения, скажем, со стандартным_разрешением, а затем самостоятельно изменить размер изображения... sitepoint.com/image-resizing-php   -  person 1789040    schedule 24.12.2012
comment
хорошо, это решение для меньшего, чем стандартное разрешение. и есть ли способ получить больший размер, чем стандартное_разрешение   -  person Bob    schedule 24.12.2012
comment
Это зависит... Если вы прочитаете информацию здесь (help.instagram.com/276722745781769), вы увидите, что Instagram всегда сохраняет/загружает фотографии в максимально возможном разрешении. Однако это разрешение отличается для разных устройств, поэтому вы не всегда можете иметь дело с изображениями одинакового размера...   -  person 1789040    schedule 24.12.2012
comment
да, я видел это, но это все еще не гарантирует, что я могу получить изображения нестандартной ширины из instagram   -  person Bob    schedule 26.12.2012


Ответы (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 недопустимые размеры.

person Metablocks Corp    schedule 28.01.2014
comment
Эта информация устарела, Instagram больше не использует свои distilleryimage* имена хостов. - person Martin Thurau; 05.02.2016

Instagram API возвращает три стандартных разрешения изображения. Существует дополнительный недокументированный размер изображения, который вы также можете использовать, однако это может быть немного хрупким / ответственным изменением в будущем, а также может противоречить их условиям обслуживания (не уверен). Я заметил, что это изображение было доступно, когда увидел, что веб-сайт Instagram предлагает изображения с более высоким разрешением. Я не совсем понимаю, почему Instagram решил не делать это изображение доступным.

Из API вы можете получить следующие стандартные размеры изображений:

миниатюра (150 x 150)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s150x150/e15/11821182_168255950173048_11130460_n.jpg

низкое_разрешение (320 x 320)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s320x320/e15/11821182_168255950173048_11130460_n.jpg

стандартное разрешение (640 x 640)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s640x640/sh0.08/e35/11821182_168255950173048_11130460_n.jpg

Затем, заглянув на их веб-сайт, я заметил, что они предоставили увеличенную версию файла с разрешением 1080 x 1080:

недокументированное большое изображение (1080 x 1080)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s1080x1080/e15/11821182_168255950173048_11130460_n.jpg

person Willster    schedule 18.08.2015
comment
Я обнаружил, что вы даже можете запросить 2048x2048: scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s2048x2048/ Но он просто доставляет 1080x1080. Я предполагаю, что 2048-квадрат предоставляется, если исходное изображение было больше или равно (как по ширине, так и по высоте), чем это, или в противном случае возвращается к следующему более низкому разрешению. - person Foo Bar; 03.09.2017
comment
И после части размера вы можете вставить дополнительный коэффициент резкости, например, /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-адресе изображения на другое значение (через поиск/замену), вы можете контролировать размер изображения.

person John Hall    schedule 27.01.2014
comment
Спасибо за улучшения, ребята - person John Hall; 28.01.2014
comment
Эта информация устарела, Instagram больше не использует свои distilleryimage* имена хостов. - person Martin Thurau; 05.02.2016

Как описывалось в предыдущих постах, Instagram не может показывать изображения именно того размера, который вам нужен. У них есть только три или четыре размера по умолчанию.

Вам потребуется внедрить какое-то промежуточное ПО, которое изменяет размеры изображений для вас, или использовать такой сервис, как https://tiny.pictures/ (отказ от ответственности: я являюсь разработчиком), чтобы сделать это за вас.

person Blade1336    schedule 07.07.2017

Я знаю, что это старый пост, но я подумал, что должен добавить, что доступно гораздо больше, чем три (или четыре) размера изображения. Я написал короткий скрипт 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.

Я тестировал его с квадратной фотографией, поэтому не знаю, что будет доступно с разными соотношениями сторон.

person speedstyle    schedule 20.01.2018