Instagram Square photos API


Будет ли Instagram предоставлять какой-либо способ захватить портрет/пейзаж через API ? API docs выглядит нетронутым.

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

Будут ли они продолжать возвращать квадратные изображения? Есть ли у Instagram какие-либо комментарии по этому поводу?

1 11

1 ответ:

Сентябрь. 4-е обновление 2015:

По состоянию на сентябрь. 3-й 2015, instagram теперь позволяет API-клиентам получать изображения в их первоначальном соотношении сторон (т. е. прямоугольные для пейзажей, портретов) и не будет обрезать их, если вы обновили новую настройку в API-клиенте.

Шаги:

  1. войдите в настройки клиентского приложения на https://instagram.com/developer/
  2. нажмите управление клиентами в верхнем меню навигации.
  3. найдите свой API Клиент, и нажмите Edit.
  4. перейдите на вкладкумиграции для вашего клиентского приложения API и установите флажок с надписью "Non square media".
  5. Нажмите КнопкуОбновить Клиент .

Введите описание изображения здесь

Вот оно! Теперь, когда вы получаете изображения из конечных точек API, портреты, пейзажи, которые были загружены, не будут обрезаны до квадратных изображений, а оригиналы будут возвращены.

Соответствующий пост в блоге: миграция API для альбомный и портретный форматы

Предыдущий ответ (устарел, не используйте, если вы не хотите как квадратные, так и неквадратные версии, все еще hacky :))

Да, API выглядит нетронутым, но я нашел хак, чтобы добраться до оригинальных изображений для пейзажей и портретов. Вы должны программно удалить часть URL-адресов, возвращенных в массиве images.

Смотрите ниже -- фрагмент из мой ответ здесь.

API все еще возвращает квадратные версии для изображения, даже те, которые загружаются в виде портретов или пейзажей. Если вам также нужны оригинальные ландшафтные / портретные изображения, вам нужно сделать небольшой хак-подробности ниже-до тех пор, пока они не обратятся к нему в своем ответе API.

Давайте возьмем пример и пройдемся по нему.

Смотрите эту фотографию Тейлора Свифта, загруженную одним из пользователей, упомянутых в блоге / пресс-релизе IG -- @johnbenett

Https://instagram.com/p/6ZVIHTJLYg/

Это оригинал загруженного фотопортрета 512 px x 640 px

Введите описание изображения здесь

И вот что возвращает API Instagram для различных изображений (включая миниатюры) для вышеупомянутого портретного изображения.

  "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 для этого портретного изображения, составляет 320 px square и выглядит следующим образом.

Введите описание изображения здесь

И последнее, но не менее важное: миниатюра, возвращаемая API для этого портретного изображения, имеет размер150 px square и выглядит следующим образом.

Введите описание изображения здесь

Итак, как получить исходное изображение для фотографии, загруженной в виде пейзажа или портрет?

Поскольку API возвращает только 1 набор изображений на данный момент, но сайт может показывать исходные изображения с соотношением сторон, я немного покопался и понял, что если вы удалите последний, но 1 раздел url из квадратных URL-адресов изображений (в этом примере удалите /c0.135.1080.1080), вы получите исходные изображения с соотношением сторон (и без обрезки) пейзаж, портрет.

Сохраняя тот же пример выше:

Стандартное разрешение портретного изображения ( 512 x 640 пикселей ) URL: https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s640x640/sh0.08/e35/11909195_1715998838621946_791786043_n.jpg

И выглядит это так.

Портретное изображение с низким разрешением (256 x 320 пикселей ) URL: https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s320x320/e35/11909195_1715998838621946_791786043_n.jpg

И выглядит это так.

Введите описание изображения здесь

Миниатюра портретного изображения (120 x 150 пикселей ) URL: https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s150x150/e35/11909195_1715998838621946_791786043_n.jpg

И выглядит это так.

Введите описание изображения здесь

Надеюсь, это поможет.