我正在使用Google Blogger API,并且在检索博客文章列表时发现它对我强制分页。似乎有几个Google api提供了List方法来返回[项]列表。该请求有一个maxResults
参数,根据API的不同,该参数默认为不同的数字(对于Blogger,显然是10)。
问题是我没有看到它返回帖子或页面的总数,我的应用程序有一个进度条来显示它已处理的总帖子的百分比。
所以我需要知道总共有多少篇文章。
我发现YouTube API对PlayListItems
的响应包括一个pageInfo
对象,其中包含结果的总数。
是否有这样的东西,我只是缺少博客文章,或者他们真的需要分页而不提供一个方法来获得总页数?
Posts: list返回一种特殊类型的响应。它只包含下一页令牌和帖子列表。对于Pages也是如此。
{
"kind": "blogger#postList",
"nextPageToken": string,
"items": [
[posts Resource][2]
]
}
大多数其他google api将返回totalResults,这是请求可以在不分页的情况下返回的行总数。如上所示,Blogger不会这样做。您可以通过以下方式绕过它。
Blogs: get返回一个blog资源将返回关于这个blog的信息,包括它包含的文章和页面的数量。据我所知,这是获得行数完整结果的唯一方法。
"posts": {
"totalItems": 395,
"selfLink": "https://www.googleapis.com/blogger/v3/blogs/1969422610982987741/posts"
},
"pages": {
"totalItems": 1,
"selfLink": "https://www.googleapis.com/blogger/v3/blogs/1969422610982987741/pages"
},