Я использую API фидов Instagram, чтобы показывать мои сообщения в Instagram на моем веб-сайте. Но в некоторых URL-адресах URL-адреса отображается " подпись URL-адреса".
Любое решение для меня?
Я использую API фидов Instagram, чтобы показывать мои сообщения в Instagram на моем веб-сайте. Но в некоторых URL-адресах URL-адреса отображается " подпись URL-адреса".
Любое решение для меня?
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, которые могут вам помочь.
На момент написания, ваша единственная альтернатива - как-то хранить или кэшировать изображения.
Например, вы можете хранить изображения в вашей базе данных. Политика платформы Instagram требует, чтобы вы удаляли изображения, когда они больше не нужны вашему приложению.
В качестве альтернативы, если вы используете CDN, вы можете передавать эти изображения через прокси-сервер изображений, а затем устанавливать длинные даты истечения срока действия в CDN. Таким образом, вы не сохраняете изображения в базе данных, но ваши пользователи могут видеть их после истечения срока действия подписи URL.
Вы можете использовать медиа-URL с некоторыми дополнительными параметрами в качестве решения, чтобы получить желаемое изображение, вместо использования прямой ссылки на изображение.
Например
https://www.instagram.com/p/Bo7OXJ3hYM8/media/?size=m
Обратите внимание на аддон /медиа/? Размер = м
Буквы могут быть т, м или л для разных размеров изображения
Это должно вернуть вам желаемое изображение
просто нажмите CTRL + S, чтобы сохранить страницу, и у вас будет фотография в папке, где вы ее сохраните