Текущий сценарийAPI-интерфейс Instagram реального времени не возвращает идентификаторы содержимого?
У меня есть создать приложение, которое заготавливать Instagram изображения с определенной хэштегом. Я использую разбиение на страницы для получения всех изображений и сохранения данных (а не изображений) локально в базе данных. Первый вызов приложения убирает все изображения. Последующие вызовы собирают только те, которые были более новыми, чем самое новое изображение в локальной базе данных. В противном случае мне нужно будет сделать тысячи запросов на страницу через все изображения в популярных тегах. И это нужно делать каждые несколько минут, если изображения, которые появляются без слишком большой задержки в приложении. Возникает проблема в том, что когда пользователи ставят теги на старые изображения, эти изображения затем не извлекаются моим приложением - из-за конструкции производительности только-выборки-новых изображений.
Попытка решения
Я посмотрел на API в режиме реального времени, но мне кажется, она построена таким образом, что делает его unsuable. Это то, что он посылает в обновлении в режиме реального времени для тега:
{
"subscription_id": "2",
"object": "tag",
"object_id": "nofilter",
"changed_aspect": "media",
"time": 1297286541
}
я бы подумал, что будет список идентификаторов СМИ, представляя новое/измененное содержание, из которого я мог бы принести реальное содержание - но нет. Мое текущее решение состоит в том, чтобы получать новый контент каждые несколько минут, а затем делать полные rescans каждый час. Это субоптимально как от пользователя, так и от перспективы производительности.
Вопрос
ли это на самом деле не представляется возможным сделать более изящным способом? Я понимаю, что Instagram не отправляет полный контент в обновление в реальном времени, но отправка идентификаторов не должна быть проблемой с точки зрения размера полезной нагрузки. Похоже, что API в этом отношении бесполезен - единственный случай использования, о котором я могу думать, где он будет полезен, - это «Есть новый контент для вас, хехтаг смотреть».
Бест, Торбена
Как вы его решили? У меня точно такая же проблема (получить недавно помеченный контент).Я действительно не могу понять обоснования такого дизайна API реального времени, это почти бесполезно. – galymzhan
Я не разрешил это. Мое текущее решение - делать «новый поиск контента» каждые 1 минуту или около того (всего несколько запросов). Затем я выполняю вторичное полное сканирование тега каждые 30 минут, которое добавляет изображения, которые были помечены с момента последнего сканирования, и удаляет изображения, которые больше не присутствуют в фиде (в противном случае вы получаете мертвые изображения в фиде). Это означает, что есть некоторые задержки в получении некоторых новых изображений и избавление от мертвых изображений, и это довольно тяжело. Как часто вы будете делать эти полные rescans, зависит от количества изображений. –
У меня в настоящее время только несколько тысяч изображений. Но предположим, что у нас есть 50000 изображений с приблизительным размером страницы из 15 изображений с 3000 + запросами на повторное сканирование ... Официальных ограничений для запроса Instagram нет (кроме «разумных»), но я думаю, вы могли бы довольно быстро получить greylisted. Я выполнил небольшую задержку между запросами, чтобы избежать ковровых бомбардировок их серверов. –