在没有限制的情况下从issuu.com网站检索文档列表

时间:2019-01-03 07:49:03

标签: php laravel issuu

我正在使用laravel中的http://issuu.com网站来上载文档并检索其列表。我在从网站获取列表时遇到问题。 我想从http://issuu.com获取所有记录。我用过代码

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

使用上述代码,我从所有文档列表中仅获得0到9条记录。我想从该站点检索所有记录。如何获取在该站点上载的所有文档列表?谁能帮我!

1 个答案:

答案 0 :(得分:1)

根据here所述,Documents->list()方法采用起始索引和页面大小的参数,分别默认为0和10(即,从结果#0开始,您将获得前10个结果) 。最大页面大小为30,因此,如果您的文档数量超出限制,则需要发出多个请求才能全部获取。

有一篇不错的博客文章here,其中解释了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之类的内容,有些会要求您继续努力直到获得零结果,等等。