Как я недавно проверял, вам не нужно ничего указывать.Класс соединения реализует Iterable следующим образом:
- выборка 25 результатов
- hasNext проверяет, есть ли следующий элемент для обработки
- , если нет, он будет извлекать следующую страницу25 результатов
В общем, все, что вам нужно сделать, это:
Connection<Post> messages = publicFbClient.fetchConnection("search",
Post.class,
Parameter.with("q", "Watermelon"),
Parameter.with("since", fromDate),
Parameter.with("until", toDate),
Parameter.with("type", "post"));
for (List<Post> feedConnectionPage : messages) {
for (Post post : myFeedConnectionPage) {
// do stuff with post
}
}
Если вы хотите иметь какой-то метод, который возвращает результаты, я был бы очень осторожен, потому что выможет возвращать тысячи результатов, и их просмотр может занять некоторое время (от секунд до минут или даже часов), и массив объектов результатов будет очень большим.Лучшая идея состоит в том, чтобы использовать некоторый асинхронный вызов и периодически проверять результаты метода.
Хотя кажется, что параметр "Since" игнорируется.Сообщения извлекаются из самых новых в самые старые, и я думаю, что этот параметр каким-то образом не учитывается при выполнении подкачки.
Надеюсь, я прояснил это для вас:)