我试图对可以在镜像服务中返回的时间轴项目进行分页(我使用可以找到的PHP快速入门示例here)
从Google_MirrorService.php
文件中,我可以阅读:
/**
* Retrieves a list of timeline items for the authenticated user.
* (timeline.list)
*
* @param array $optParams Optional parameters.
*
* @opt_param string bundleId If provided, only items with the given bundleId will be returned.
* @opt_param bool includeDeleted If true, tombstone records for deleted items will be returned.
* @opt_param string maxResults The maximum number of items to include in the response, used for paging.
* @opt_param string orderBy Controls the order in which timeline items are returned.
* @opt_param string pageToken Token for the page of results to return.
* @opt_param bool pinnedOnly If true, only pinned items will be returned.
* @opt_param string sourceItemId If provided, only items with the given sourceItemId will be returned.
* @return Google_TimelineListResponse
*/
public function listTimeline($optParams = array()) {
$params = array();
$params = array_merge($params, $optParams);
$data = $this->__call('list', array($params));
if ($this->useObjects()) {
return new Google_TimelineListResponse($data);
} else {
return $data;
}
}
params是相同的here,或多或少相同的描述。
根据说明,我了解maxResults
类似于'页面大小',pageToken
类似于'页码'。我对第一个参数是正确的,但对于第二个参数不适用:它似乎在请求中被忽略了。
所以,我的问题是:
1)pageToken的用途是什么?
2)我如何对时间轴项目进行分页?例如。得到的结果是10到19,而不是从0到9。
答案 0 :(得分:0)
timeline.list
端点不支持时间轴的随机访问,但它支持迭代查询结果中可用的所有时间轴项。如果您指定maxResults
,则只会返回多个结果。发回的结果包括一系列项目和nextPageToken
属性。
如果您需要转到结果的下一页,则应将pageToken
参数设置包含在上一次调用中nextPageToken
属性的结果中。
有关执行分页查询的示例,请参阅https://developers.google.com/glass/v1/reference/timeline/list。
<强>更新强>
要明确(并在评论中回答您的问题),nextPageToken
应该被视为不透明 - 除了将其传递回服务器以获取下一页之外没有任何意义。
同样,没有previousPageToken
或任何其他方式来设置您想要的下一个捆绑包。一般来说,无论如何这些都会更加罕见。人们通常不需要在服务器上的结果页面之间手动翻转 - 如果查询上有大量结果,那么您和Google的服务器就不会被淹没。