Получить список документов с сайта Issu.com без лимита

Я использую сайт 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 ответ

Как задокументировано здесь, 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 в своем ответе некоторые из них потребуют от вас продолжения, пока вы не получите нулевой результат и т. д.

Другие вопросы по тегам