Получить список документов с сайта Issu.com без лимита - PullRequest
0 голосов
/ 03 января 2019

Я использую сайт http://issuu.com в laravel для загрузки документов и получения их списка. У меня проблема с получением списка с сайта. Я хочу получить все записи от http://issuu.com. Я использовал код

   $issuu = new Issuu('--my API key--', '--my API secret--');
   $documents = new Documents($issuu);
   $documentsList = $documents->list();

используя приведенный выше код, я получаю от 0 до 9 записей из всего списка документов. Я хочу получить все записи с этого сайта. Как я могу получить список всех документов, загруженных на этот сайт? Может кто-нибудь, пожалуйста, помогите мне!

1 Ответ

0 голосов
/ 03 января 2019

Как задокументировано здесь , метод Documents->list() принимает параметры для начального индекса и размера страницы, которые по умолчанию равны 0 и 10 соответственно (т.е. вы получаете первые 10 результатов, начиная с результата # 0) , Максимальный размер страницы - 30, поэтому, если у вас больше документов, вам нужно будет сделать несколько запросов, чтобы получить их все.

Здесь есть хороший пост в блоге здесь , объясняющий разбиение на страницы API, включая способы получения всех результатов из API с постраничным интерфейсом. Суть его в следующем (псевдокод, поэтому вам нужно будет перевести его на PHP и API):

allResults = empty list
nextStart = 0
pageSize = 30
do {
    newResults = request $pageSize more results, starting at $nextStart
    add $newResults to $allResults
    nextStart = highest index in $newResults + 1
} while ($newResults indicates that there are more results)

Состояние цикла do...while будет зависеть от вашего API. Некоторые включат в свой ответ что-то вроде hasMore: true/false, некоторые потребуют, чтобы вы продолжали, пока не получите нулевой результат, и т. Д.

...