Timeline: list

Richiede l'autorizzazione

Recupera un elenco di elementi della cronologia per l'utente autenticato. Vedi un esempio.

Richiesta

Richiesta HTTP

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

Parametri

Nome del parametro Valore Descrizione
Parametri di query facoltativi
bundleId string Se fornito, verranno restituiti solo gli articoli con il bundleId specificato.
includeDeleted boolean Se il valore è true, vengono restituiti i record di tombstone per gli elementi eliminati.
maxResults unsigned integer Il numero massimo di elementi da includere nella risposta, utilizzato per il paging.
orderBy string Consente di controllare l'ordine in cui vengono restituiti gli elementi della sequenza temporale.

I valori accettati sono:
  • "displayTime": i risultati verranno ordinati in base a displayTime (impostazione predefinita). È lo stesso ordinamento usato nella sequenza temporale sul dispositivo.
  • "writeTime": i risultati verranno ordinati in base all'ora in cui sono stati scritti per l'ultima volta nel datastore.
pageToken string Token per la pagina dei risultati da restituire.
pinnedOnly boolean Se il valore è true, verranno restituiti solo gli elementi appuntati.
sourceItemId string Se fornito, verranno restituiti solo gli elementi con il sourceItemId specificato.

Autorizzazione

Questa richiesta richiede l'autorizzazione con almeno uno dei seguenti ambiti (scopri di più su autenticazione e autorizzazione).

Ambito
https://www.googleapis.com/auth/glass.timeline
https://www.googleapis.com/auth/glass.location

Corpo della richiesta

Non fornire un corpo della richiesta con questo metodo.

Risposta

In caso di esito positivo, questo metodo restituisce un corpo della risposta con la seguente struttura:

{
  "kind": "mirror#timeline",
  "nextPageToken": string,
  "items": [
    timeline Resource
  ]
}
Nome proprietà Valore Descrizione Note
kind string Il tipo di risorsa. Il valore è sempre mirror#timeline.
nextPageToken string Il token della pagina successiva. Specificalo come parametro pageToken nella richiesta per recuperare la pagina successiva dei risultati.
items[] list Elementi nella sequenza temporale.

Esempi

Nota: gli esempi di codice disponibili per questo metodo non rappresentano tutti i linguaggi di programmazione supportati (consulta la pagina relativa alle librerie client per un elenco dei linguaggi supportati).

Java

Utilizza la libreria client 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

Utilizza la libreria client.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

Utilizza la libreria client 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

Utilizza la libreria client 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

Utilizza la libreria client 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

Utilizza la libreria client 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 non elaborato

Non utilizza una libreria client.

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