Timeline: list

يتطلّب تفويضًا

لاسترداد قائمة بعناصر المخطط الزمني للمستخدم الذي تمت مصادقته. اطّلِع على مثال.

الطلب

طلب HTTP

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

المعلمات

اسم المعلَمة القيمة الوصف
مَعلمات طلب البحث الاختيارية
bundleId string وفي حال توفّره، سيتم فقط عرض العناصر التي تتضمّن رقم تعريف الحزمة المحدّد.
includeDeleted boolean في حال اختيار القيمة "true"، سيتم عرض سجلّات Tombstone للعناصر المحذوفة.
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
  ]
}
اسم الموقع القيمة الوصف Notes
kind string نوع المورد. دائمًا ما تكون هذه هي mirror#timeline.
nextPageToken string الرمز المميز للصفحة التالية. عليك تقديم هذه المَعلمة كمَعلمة pageToken في الطلب لاسترداد الصفحة التالية من النتائج.
items[] list العناصر المتوفرة في المخطط الزمني.

أمثلة

ملاحظة: إنّ الأمثلة المرتبطة بالرموز والمتوفرة لهذه الطريقة لا تمثّل كل لغات البرمجة المتوافقة (يُرجى مراجعة صفحة مكتبات البرامج للاطّلاع على قائمة باللغات المتوافقة).

Java

تستخدم مكتبة برامج 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.

لاستخدام مكتبة برامج .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

تستخدم مكتبة برامج 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

تستخدم مكتبة برامج 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