URL-адрес медиафайла Instagram/feed API показывает, что "подпись URL-адресов истекло"

Я использую API фидов Instagram, чтобы показывать мои сообщения в Instagram на моем веб-сайте. Но в некоторых URL-адресах URL-адреса отображается " подпись URL-адреса".

Любое решение для меня?

Ответ 1

Instagram добавил URL-подписи к своим медиа-URL.

Вы можете легко удалить подпись URL с помощью этого регулярного выражения: "vp. */. {32}/. {8}/"

Например в PHP:

preg_replace('/vp.*\/.{32}\/.{8}\//', '', $mediaUrl)

С другой стороны, я не думаю, что удаление подписи URL является лучшим решением (это просто быстрое решение). Хорошо, чтобы снова позвонить в API Instagram, чтобы получить новый URL.


ОБНОВИТЬ

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

ОБНОВЛЕНИЕ Апрель 2018

Instagram закрыл свою конечную точку "api.instagram.com/v1/media/", поэтому в настоящее время невозможно обновить URL-адреса сообщений.

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

Другое решение состоит в том, чтобы снова вызвать исходную конечную точку, где вы снова нашли средства (но в настоящее время трудно управлять вызовами с новым пределом скорости API).

Также вы можете найти некоторые неофициальные API-интерфейсы Instagram на github, которые могут вам помочь.

Ответ 2

На момент написания, ваша единственная альтернатива - как-то хранить или кэшировать изображения.

Например, вы можете хранить изображения в вашей базе данных. Политика платформы Instagram требует, чтобы вы удаляли изображения, когда они больше не нужны вашему приложению.

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

Ответ 3

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

Например

https://www.instagram.com/p/Bo7OXJ3hYM8/media/?size=m

Обратите внимание на аддон /медиа/? Размер = м

Буквы могут быть т, м или л для разных размеров изображения

Это должно вернуть вам желаемое изображение

Ссылка: https://www.instagram.com/developer/embedding/

Ответ 4

просто нажмите CTRL + S, чтобы сохранить страницу, и у вас будет фотография в папке, где вы ее сохраните