Я испытываю то же самое. Я вообще этого не понимаю, но похоже, что смещение не может быть больше, чем предел * 1,5
Теоретически, это означает, что постоянное увеличение предела для соответствия смещению исправит это, но я не смог проверить это (я не уверен, являются ли проблемы, которые я вижу, другими ошибками в моем коде если есть другие ограничения, я не понимаю о получении потока).
Кто-нибудь может объяснить, что я вижу и чего мне не хватает?
Вы можете воспроизвести мои результаты, перейдя в консоль тестирования FQL:
http://developers.facebook.com/docs/reference/rest/fql.query
вставка в этом запросе:
SELECT post_id, created_time, message, likes, comments, attachment, permalink, source_id, actor_id
FROM stream
WHERE filter_key IN
(
SELECT filter_key
FROM stream_filter
WHERE uid=me() AND type='newsfeed'
)
AND is_hidden = 0 limit 100 offset 150
Когда вы нажмете «Метод тестирования», вы увидите один из 2 результатов, которые я получаю:
- Результаты возвращаются: [{post_id: "926 ... (что я ожидал)
- Возвращается пустой [] (чего я не ожидал)
Вероятно, вам придется экспериментировать, изменяя значение «смещения», пока вы не найдете точное место, где оно ломается. Только сейчас я обнаружил, что это ломается для меня в 155 и 156.
Попробуйте изменить и лимит, и смещение, и вы увидите, что пустые результаты не появляются в определенном месте в потоке. Вот несколько примеров результатов, которые я видел:
- "... ограничение 50 смещение 100" разрывы, возвращая пустой []
- "... предел 100 смещение 50" работает, возвращая ожидаемые результаты
- "... ограничение 50 смещение 74" работает
- "... ограничение 50 смещение 75" перерывы
- "... предел 20 смещение 29" работает
- "... ограничение 20 смещение 30" перерывы
Кроме того, что я вижу отношение "предел = смещение" * 1,5, я действительно не понимаю, что здесь происходит.