0

我在 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 条记录。我想从该站点检索所有记录。如何获取上传到该站点的所有文档列表?谁能帮帮我吗!

4

1 回答 1

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在他们的回复中包含类似的内容,有些会要求您继续前进,直到您获得零结果,等等。

于 2019-01-03T08:06:02.780 回答