需要授權
擷取已驗證使用者的時間軸項目清單。 請點選此處查看範例。
要求
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 用戶端程式庫。
## # 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