Возможно, это связано с тем, как Facebook обрабатывает результаты поиска.
По сути, они сначала получают запрошенные (X) результаты. Во-вторых, они фильтруют результаты на основе конфиденциальности (удаляя пользователей, которые не хотят, чтобы их искали). Наконец они возвращают то, что осталось.
Итак, предположим, что Koala запрашивает 100 пользователей, и у первых 100 пользователей, которых находит Facebook, настроена конфиденциальность, чтобы скрывать себя; в результате Facebook вернет пустой список, а Koala ничего не даст.
Подробности можно найти здесь: https://developers.facebook.com/blog/post/478/
Есть возможные решения, но ни одно из них на самом деле не так уж велико: 1) Увеличьте количество запрашиваемых результатов (либо с помощью опций, либо с помощью FQL-запроса) 2) Если вы получаете пустой набор результатов, немедленно используйте разбиение на страницы для попробуйте позвонить еще раз, на этот раз попросив следующую страницу. То есть, если вы спросите первых 100 пользователей, ничего не получите, сразу запросите список 101-200. Однако убедитесь, что вы ограничиваете количество раз, когда это делается, потому что вы, вероятно, не хотите, чтобы он делал слишком много вызовов.
Ни одно из лучших решений, я знаю. Тот факт, что вам не сообщают, какие записи отсутствуют, затрудняет получение правильного набора, поэтому вам, вероятно, придется иметь дело с неполными списками.
person
DRobinson
schedule
07.08.2012