需要授权
检索经过身份验证的用户的时间轴项列表。 查看示例。
请求
HTTP 请求
GET https://www.googleapis.com/mirror/v1/timeline
参数
参数名称 | 值 | 说明 |
---|---|---|
可选的查询参数 | ||
bundleId |
string |
如果提供,则将仅返回具有指定 bundleId 的项。 |
includeDeleted |
boolean |
如果为 true,则返回已删除项的 Tombstone 记录。 |
maxResults |
unsigned integer |
此响应中可包含的条目数上限,用于分页。 |
orderBy |
string |
控制时间轴项的返回顺序。
可接受的值包括:
|
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
使用 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
使用 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