2014-11-19 2 views
-1

Я пытаюсь разбиваться элементами временной шкалы, которые могут быть возвращены в службе зеркала (я использую пример PHP QuickStart, который можно найти here)Mirror Service Glass Google: список деталей временной шкалы и пейджинговая

С 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

Конечная точка timeline.list не поддерживает случайный доступ к временной шкале, но она поддерживает итерацию по всем элементам временной шкалы, которые доступны в результате запроса. Если вы укажете maxResults, вы получите не более того, что многие результаты отправлены обратно. Полученные результаты включают массив элементов и атрибут nextPageToken.

Если вам нужно перейти на следующую страницу результатов, вы должны включить параметр pageToken в значение атрибута nextPageToken из предыдущего вызова.

См. https://developers.google.com/glass/v1/reference/timeline/list на примере выполнения разбитого на страницы запроса.

Update:

Чтобы быть ясно (и ответить на ваш вопрос в комментарии), то nextPageToken следует рассматривать как непрозрачный - это не имеет никакого значения, кроме как передать его обратно на сервер, чтобы получить следующую страницу ,

Аналогичным образом, нет previousPageToken или любым другим способом установить, какой следующий пакет вам нужен. В общем, они были бы более редкими. Обычно не нужно вручную перелистывать страницы результатов на сервере - это значит, что ваш сервер Google не перегружен, если в запросе есть много результатов.

+0

Спасибо! Итак, я предполагаю, что «pageToken» не является инкрементным целым или что-то в этом роде. И даже подумал, что я могу перейти на «следующую страницу», я не могу перейти на предыдущую страницу, если я ранее не сохранил «предыдущий токен страницы» каким-то образом – ocramot

+0

, но вы правы. в общем, вы сохраняете результаты с сервера, когда они вам понадобятся. – Prisoner

+0

Хорошо, спасибо! (Я просто хотел перевернуть между страницами результатов на сервере, потому что я хотел сделать консоль мониторинга и проверить, какие элементы временной шкалы присутствуют) – ocramot