Instagram Square photos API
Будет ли Instagram предоставлять какой-либо способ захватить портрет/пейзаж через API ? API docs выглядит нетронутым.
На данный момент они по-прежнему возвращают квадратные размеры для портретных изображений, но документация api не предоставляет никакого способа получить исходное изображение.
Будут ли они продолжать возвращать квадратные изображения? Есть ли у Instagram какие-либо комментарии по этому поводу?
1 ответ:
Сентябрь. 4-е обновление 2015:
По состоянию на сентябрь. 3-й 2015, instagram теперь позволяет API-клиентам получать изображения в их первоначальном соотношении сторон (т. е. прямоугольные для пейзажей, портретов) и не будет обрезать их, если вы обновили новую настройку в API-клиенте.
Шаги:
- войдите в настройки клиентского приложения на https://instagram.com/developer/
- нажмите управление клиентами в верхнем меню навигации.
- найдите свой API Клиент, и нажмите Edit.
- перейдите на вкладкумиграции для вашего клиентского приложения API и установите флажок с надписью "Non square media".
- Нажмите КнопкуОбновить Клиент .
Вот оно! Теперь, когда вы получаете изображения из конечных точек API, портреты, пейзажи, которые были загружены, не будут обрезаны до квадратных изображений, а оригиналы будут возвращены.
Соответствующий пост в блоге: миграция API для альбомный и портретный форматы
Предыдущий ответ (устарел, не используйте, если вы не хотите как квадратные, так и неквадратные версии, все еще hacky :))
Да, API выглядит нетронутым, но я нашел хак, чтобы добраться до оригинальных изображений для пейзажей и портретов. Вы должны программно удалить часть URL-адресов, возвращенных в массивеimages
.Смотрите ниже -- фрагмент из мой ответ здесь.
API все еще возвращает квадратные версии для изображения, даже те, которые загружаются в виде портретов или пейзажей. Если вам также нужны оригинальные ландшафтные / портретные изображения, вам нужно сделать небольшой хак-подробности ниже-до тех пор, пока они не обратятся к нему в своем ответе API.
Давайте возьмем пример и пройдемся по нему.Смотрите эту фотографию Тейлора Свифта, загруженную одним из пользователей, упомянутых в блоге / пресс-релизе IG -- @johnbenett
Https://instagram.com/p/6ZVIHTJLYg/
Это оригинал загруженного фотопортрета 512 px x 640 px
И вот что возвращает API Instagram для различных изображений (включая миниатюры) для вышеупомянутого портретного изображения.
Таким образом, стандартное разрешение изображения, возвращаемое API для этого портретного изображения, составляет 640 px square и выглядит следующим образом: этот."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 для этого портретного изображения, составляет 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
И выглядит это так.
Надеюсь, это поможет.