Timeline: patch

需要授權

更新現有的時間軸項目。這個方法支援修補語意請點選此處查看範例

要求

HTTP 要求

PATCH https://www.googleapis.com/mirror/v1/timeline/id

參數

參數名稱 說明
路徑參數
id string 時間軸項目的 ID。

授權

這項要求需要至少擁有下列其中一個範圍的授權 (進一步瞭解驗證和授權)。

範圍
https://www.googleapis.com/auth/glass.timeline
https://www.googleapis.com/auth/glass.location

要求主體

在要求主體中,請根據 patch 語意的規則,提供時間軸資源的相關部分。

回應

如果成功,這個方法會在回應主體中傳回時間軸資源

範例

注意:這個方法適用的程式語言眾多,我們只在此提供部分程式碼範例,完整的支援語言清單請參閱用戶端程式庫頁面

Java

使用 Java 用戶端程式庫

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

import java.io.IOException;

public class MyClass {
  // ...

  /**
   * Update the text of an existing timeline item.
   * 
   * @param service Authorized Mirror service.
   * @param itemId ID of the timeline item to update.
   * @param newText New text content for the timeline item.
   * @return Updated timeline item on success, {@code null} otherwise.
   */
  public static TimelineItem patchTimelineItem(Mirror service, String itemId, String newText) {
    TimelineItem patchedTimelineItem = new TimelineItem();
    patchedTimelineItem.setText(newText);
    try {
      return service.timeline().patch(itemId, patchedTimelineItem).execute();
    } catch (IOException e) {
      System.err.println("An error occurred: " + e);
      return null;
    }
  }

  // ...
}

.NET

使用 .NET 用戶端程式庫

using System;

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

public class MyClass {
  // ...

  /// <summary>
  /// Update the text of an existing timeline item.
  /// </summary>
  /// <param name='service'>Authorized Mirror service.</param>
  /// <param name='itemId'>ID of the timeline item to update.</param>
  /// <param name='newText'>
  /// New text content for the timeline item.
  /// </param>
  /// <returns>
  /// Updated timeline item on success, null otherwise.
  /// </returns>
  public static TimelineItem PatchTimelineItem(MirrorService service,
      String itemId, String newText) {
    TimelineItem patchedTimelineItem = new TimelineItem() {
      Text = newText
    };
    try {
      return service.Timeline.Patch(patchedTimelineItem, itemId).Fetch();
    } catch (Exception e) {
      Console.WriteLine("An error occurred: " + e.Message);
      return null;
    }
  }

  // ...
}

PHP

使用 PHP 用戶端程式庫

/**
 * Update the text of an existing timeline item.
 *
 * @param Google_MirrorService $service Authorized Mirror service.
 * @param string $itemId ID of the timeline item to update.
 * @param string $newText New text content for the timeline item.
 * @return Google_TimelineItem Updated timeline item on success,
 *         null otherwise.
 */
function patchTimelineItem($service, $itemId, $newText) {
  try {
    $patchedTimelineItem = new Google_TimelineItem();
    $patchedTimelineItem->setText($text);
    return $service->timeline->patch($itemId, $patchedTimelineItem);
  } catch (Exception $e) {
    print 'An error occurred: ' . $e->getMessage();
    return null;
  }
}

Python

使用 Python 用戶端程式庫

from apiclient import errors
# ...

def patch_timeline_item(service, item_id, new_text):
  """Update the text of an existing timeline item.

  Args:
    service: Authorized Mirror service.
    item_id: ID of the timeline item to update.
    new_text: New text content for the timeline item.

  Returns:
    Updated timeline item on success, None otherwise.
  """
  patched_timeline_item = {'text': new_text}
  try:
    return service.timeline().patch(
        id=item_id, body=patched_timeline_item).execute()
  except errors.HttpError, error:
    print 'An error occurred: %s' % error
    return None

小茹

使用 Ruby 用戶端程式庫

##
# Update the text of an existing Timeline Item.
#
# @param [Google::APIClient] client
#   Authorized client instance.
# @param [String] item_id
#   ID of the timeline item to update.
# @param [String] new_text
#   New text content for the timeline item.
# @return [Google::APIClient::Schema::Mirror::V1::TimelineItem]
#    Updated timeline item on success, nil otherwise.
def patch_timeline_item(client, item_id, new_text)
  mirror = client.discovered_api('mirror', 'v1')
  result = client.execute(
    :api_method => mirror.timeline.patch,
    :body_object => { 'text' => new_text },
    :parameters => { 'id' => item_id })
  if result.success?
    return result.data
  end
  puts "An error occurred: #{result.data['error']['message']}"
end

Go

使用 Go 用戶端程式庫

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

// PatchTimelineItem updates the text of an existing timeline item.
func PatchTimelineItem(g *mirror.Service, itemId string, newText string) (
	*mirror.TimelineItem, error) {
	t := &mirror.TimelineItem{Text: newText}
	r, err := g.Timeline.Patch(itemId, t).Do()
	if err != nil {
		fmt.Printf("An error occurred: %v\n", err)
		return nil, err
	}
	return r, nil
}

原始 HTTP

不使用用戶端程式庫。

PATCH /mirror/v1/timeline/timeline item id HTTP/1.1
Host: www.googleapis.com
Authorization: Bearer auth token
Content-Type: application/json
Content-Length: 26

{ "text": "Hello world" }