Timeline: list

Требуется авторизация

Извлекает список элементов временной шкалы для аутентифицированного пользователя. См. пример .

Запрос

HTTP-запрос

GET https://www.googleapis.com/mirror/v1/timeline

Параметры

Имя параметра Ценить Описание
Необязательные параметры запроса
bundleId string Если указано, будут возвращены только элементы с заданным bundleId.
includeDeleted boolean Если true, будут возвращены записи надгробий для удаленных элементов.
maxResults unsigned integer Максимальное количество элементов для включения в ответ, используемое для разбиения по страницам.
orderBy string Управляет порядком, в котором возвращаются элементы временной шкалы.

Допустимые значения:
  • " displayTime ": результаты будут упорядочены по displayTime (по умолчанию). Это тот же порядок, который используется на временной шкале на устройстве.
  • « writeTime »: результаты будут упорядочены по времени последней записи в хранилище данных.
pageToken string Токен для возвращаемой страницы результатов.
pinnedOnly boolean Если true, будут возвращены только закрепленные элементы.
sourceItemId string Если указано, будут возвращены только элементы с заданным sourceItemId.

Авторизация

Этот запрос требует авторизации по крайней мере в одной из следующих областей ( подробнее об аутентификации и авторизации ).

Объем
https://www.googleapis.com/auth/glass.timeline
https://www.googleapis.com/auth/glass.location

Тело запроса

Не указывайте тело запроса с этим методом.

Ответ

В случае успеха этот метод возвращает тело ответа со следующей структурой:

{
  "kind": "mirror#timeline",
  "nextPageToken": string,
  "items": [
    timeline Resource
  ]
}
Имя свойства Ценить Описание Примечания
kind string Тип ресурса. Это всегда mirror#timeline .
nextPageToken string Токен следующей страницы. Укажите это как параметр pageToken в запросе для получения следующей страницы результатов.
items[] list Элементы на временной шкале.

Примеры

Примечание. Примеры кода, доступные для этого метода, не представляют все поддерживаемые языки программирования (список поддерживаемых языков см. на странице клиентских библиотек ).

Джава

Использует клиентскую библиотеку Java .

import com.google.api.services.mirror.Mirror;
import com.google.api.services.mirror.Mirror.Timeline;
import com.google.api.services.mirror.model.TimelineItem;
import com.google.api.services.mirror.model.TimelineListResponse;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class MyClass {
  // ...

  /**
   * Retrieve all timeline items for the current user.
   * 
   * @param service Authorized Mirror service.
   * @return Collection of timeline items on success, {@code null} otherwise.
   */
  public static List<TimelineItem> retrieveAllTimelineItems(Mirror service) {
    List<TimelineItem> result = new ArrayList<TimelineItem>();
    try {
      Timeline.List request = service.timeline().list();
      do {
        TimelineListResponse timelineItems = request.execute();
        if (timelineItems.getItems() != null && timelineItems.getItems().length() > 0) {
          result.addAll(timelineItems.getItems());
          request.setPageToken(timelineItems.getNextPageToken());
        } else {
          break;
        }
      } while (request.getPageToken() != null && request.getPageToken().length() > 0);
    } catch (IOException e) {
      System.err.println("An error occurred: " + e);
      return null;
    }
    return result;
  }

  // ...
}

.СЕТЬ

Использует клиентскую библиотеку .NET .

using System;
using System.Collections.Generic;

using Google.Apis.Mirror.v1;
using Google.Apis.Mirror.v1.Data;

public class MyClass {
  // ...

  /// <summary>
  /// Retrieve all timeline items for the current user.
  /// </summary>
  /// <param name='service'>Authorized Mirror service.</param>
  /// <returns>
  /// List of timeline items on success, null otherwise.
  /// </returns>
  public static List<TimelineItem> RetrieveAllTimelineItems(
      MirrorService service) {
    List<TimelineItem> result = new List<TimelineItem>();
    try {
      TimelineResource.ListRequest request = service.Timeline.List();
      do {
        TimelineListResponse timelineItems = request.Fetch();
        if (timelineItems.Items != null && timelineItems.Items.Length > 0) {
          result.AddRange(timelineItems.Items);
          request.PageToken = timelineItems.NextPageToken;
        } else {
          break;
        }
      } while (!String.IsNullOrEmpty(request.PageToken));
    } catch (Exception e) {
      Console.WriteLine("An error occurred: " + e.Message);
      return null;
    }
    return result;
  }

  // ...
}

PHP

Использует клиентскую библиотеку PHP .

/**
 * Retrieve all timeline items for the current user.
 *
 * @param Google_MirrorService $service Authorized Mirror service.
 * @return Array List of Google_TimelineItem resources on success,
 *         null otherwise.
 */
function retrieveAllTimelineItems($service) {
  try {
    $result = array();
    $pageToken = null;

    do {
      $optParams = array();
      if ($pageToken) {
        $optParams['pageToken'] = $pageToken;
      }
      $timelineItems = $service->timeline->listTimeline($optParams);

      if (!empty(timelineItems->getItems()) {
        $result = array_merge($result, $timelineItems->getItems());
        $pageToken = $timelineItems->getNextPageToken();
      } else {
        break;
      }
    } while ($pageToken);

    return $result;
  } catch (Exception $e) {
    print 'An error occurred: ' . $e->getMessage();
    return null;
  }
}

Питон

Использует клиентскую библиотеку Python .

from apiclient import errors
# ...

def retrieve_all_timeline_tems(service):
  """Retrieve all timeline items for the current user.

  Args:
    service: Authorized Mirror service.

  Returns:
    Collection of timeline items on success, None otherwise.
  """
  result = []
  request = service.timeline().list()
  while request:
    try:
      timeline_items = request.execute()
      items = timeline_items.get('items', [])
      if items:
        result.extend(timeline_items.get('items', []))
        request = service.timeline().list_next(request, timeline_items)
      else:
        # No more items to retrieve.
        break
    except errors.HttpError, error:
      print 'An error occurred: %s' % error
      break
  return result

Рубин

Использует клиентскую библиотеку Ruby .

##
# Retrieve all Timeline Items for the current user.
#
# @param [Google::APIClient] client
#   Authorized client instance.
# @return [Array]
#   List of timeline items.
def retrieve_all_timeline_items(client)
  mirror = client.discovered_api('mirror', 'v1')
  result = Array.new
  page_token = nil
  begin
    parameters = {}
    if page_token.to_s != ''
      parameters['pageToken'] = page_token
    end
    api_result = client.execute(
      :api_method => mirror.timeline.list,
      :parameters => parameters)
    if api_result.success?
      timeline_items = api_result.data
      if timeline_items.items.empty?
        page_token = nil
      else
        result.concat(timeline_items.items)
        page_token = timeline_items.next_page_token
      end
    else
      puts "An error occurred: #{result.data['error']['message']}"
      page_token = nil
    end
  end while page_token.to_s != ''
  result
end

Идти

Использует клиентскую библиотеку Go .

import (
	"code.google.com/p/google-api-go-client/mirror/v1"
	"fmt"
)

// RetrieveAllTimelineItems retrieves all timeline items for the current user.
func RetrieveAllTimelineItems(g *mirror.Service) ([]*mirror.TimelineItem, error) {
	r := []*mirror.TimelineItem{}
	req := g.Timeline.List()
	for req != nil {
		t, err := req.Do()
		if err != nil {
			fmt.Printf("An error occurred: %v\n", err)
			return nil, err
		}
		if t.Items != nil && len(t.Items) > 0 {
			r = append(r, t.Items...)
			req.PageToken(t.NextPageToken)
		} else {
			req = nil
		}
	}
	return r, nil
}

Необработанный HTTP

Не использует клиентскую библиотеку.

GET /mirror/v1/timeline HTTP/1.1
Host: www.googleapis.com
Authorization: Bearer auth token