我正在使用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条记录。我想从该站点检索所有记录。如何获取在该站点上载的所有文档列表?谁能帮我!
答案 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
之类的内容,有些会要求您继续努力直到获得零结果,等等。