2015-06-03 3 views
2

У меня есть подписка на реальное время для действительно популярного тега.Instagram в реальном времени api - получить только последние загруженные изображения

Мое приложение получает много подписных звонков в секунду, а затем я делаю пост-запрос для тега/media/recent, но я получаю дубликаты и пропущенные изображения, потому что это очень быстро. Как я могу убедиться, что я запрашиваю изображение, которое отправляется при подписке?

Я попытался даже установить счетчик на 1 и сохранить последний файл min_tag_id, но я получаю дубликаты и пропущенные изображения.

Моя идея состояла в том, чтобы получить последний идентификатор изображения, затем по подписке, чтобы установить сон на какое-то время, а затем вызвать тег/медиа/последние с count = 1 и min_tag_id, и я получу изображение для этого подписного вызова, но есть еще дубликаты.

Почему Instagram не просто посылает изображения?

ответ

2

У меня была такая же проблема, как и вы (работая над этим на прошлой неделе). Мое обходное решение, в настоящее время, после того, как Instagram отправляет POST, что произошло обновление для хэштега, я делаю запрос POST для самых последних фотографий (в настоящее время установка количества в 1, как вы делаете, но все еще работает над получением всех новейших фотографий).

В основном я сохраняю все последние фотографии, возвращенные в базе данных, используя идентификатор фотографий в качестве первичного ключа. Если ключ уже существует в db, я выдаю обновление, иначе новая фотография будет вставлена ​​в базу данных. Затем я проверяю, было ли вызвано обновление или вызвана вставка. Если обновление, я просто выхожу из функции. Если была вызвана вставка, я затем выдаю ответ браузеру с новой фотографией (это очень легко сделать с веб-сокетами, иначе вы можете просто опросить свою базу данных за определенный интервал, чтобы проверить, были ли добавлены новые фотографии).

Я даже не уверен, что это правильный подход, он мне очень хлопот, но API реального времени Instagram не очень интуитивно понятен для работы.

Смежные вопросы