Contacts: update

Cần phải uỷ quyền

Cập nhật một người liên hệ tại chỗ. Xem ví dụ.

Yêu cầu

Yêu cầu HTTP

PUT https://www.googleapis.com/mirror/v1/contacts/id

Thông số

Tên thông số Giá trị Nội dung mô tả
Tham số đường dẫn
id string Mã của người liên hệ.

Ủy quyền

Yêu cầu này cần có sự cho phép có phạm vi sau (đọc thêm về quy trình xác thực và uỷ quyền).

Phạm vi
https://www.googleapis.com/auth/glass.timeline

Nội dung yêu cầu

Trong nội dung yêu cầu, hãy cung cấp Tài nguyên danh bạ với các thuộc tính sau:

Tên tài sản Giá trị Nội dung mô tả Ghi chú
Thuộc tính bắt buộc
acceptCommands[].type string Loại thao tác tương ứng với lệnh này. Các giá trị được phép là:
  • TAKE_A_NOTE – Chia sẻ một mục trong dòng thời gian với bản chép lời lời nói của người dùng qua lệnh trong trình đơn giọng nói "Ghi chú".
  • POST_AN_UPDATE – Chia sẻ một mục trong dòng thời gian với bản chép lời lời nói của người dùng qua lệnh trong trình đơn thoại "Đăng bản cập nhật".
có thể ghi
displayName string Tên hiển thị cho người liên hệ này. có thể ghi
id string Mã nhận dạng cho người liên hệ này. Mã này do ứng dụng tạo ra và được coi là mã thông báo mờ. có thể ghi
imageUrls[] list Tập hợp URL hình ảnh hiển thị cho một người liên hệ. Hầu hết địa chỉ liên hệ sẽ có một hình ảnh, nhưng người liên hệ "nhóm" có thể bao gồm tối đa 8 URL hình ảnh và các URL này sẽ được đổi kích thước và cắt thành một tranh mosaic trên ứng dụng khách. có thể ghi
Thuộc tính không bắt buộc
acceptCommands[] list Danh sách các lệnh trong trình đơn thoại mà một người liên hệ có thể xử lý. Ứng dụng Glass hiển thị tối đa 3 địa chỉ liên hệ cho mỗi lệnh trên trình đơn bằng giọng nói. Nếu nhiều hơn số đó, 3 địa chỉ liên hệ có priority cao nhất sẽ hiển thị cho lệnh cụ thể đó. có thể ghi
acceptTypes[] list Danh sách các loại MIME mà một người liên hệ hỗ trợ. Thông tin liên hệ này sẽ được hiển thị với người dùng nếu có bất kỳ giá chấp nhận nào khớp với bất kỳ loại tệp đính kèm nào trên mục. Nếu không có mạng AcceptTypes nào, địa chỉ liên hệ này sẽ hiển thị cho tất cả các mục. có thể ghi
phoneNumber string Số điện thoại chính của người liên hệ. Đây có thể là số điện thoại đủ điều kiện, có mã gọi quốc gia và mã vùng hoặc một số điện thoại tại địa phương. có thể ghi
priority unsigned integer Mức độ ưu tiên cho người liên hệ để xác định thứ tự trong danh sách người liên hệ. Người liên hệ có mức độ ưu tiên cao hơn sẽ hiển thị trước người liên hệ có mức độ ưu tiên thấp hơn. có thể ghi
speakableName string Tên của người liên hệ này (phải được phát âm). Nếu phải đọc tên của người liên hệ này trong trình đơn phân định giọng nói, thì tên này sẽ được dùng làm cách phát âm dự kiến. Điều này rất hữu ích cho những tên người liên hệ có các ký tự không phát âm được hoặc những tên có cách viết hiển thị không đúng phiên âm. có thể ghi
type string Loại cho người liên hệ này. Quy tắc này được dùng để sắp xếp trong giao diện người dùng. Các giá trị được phép là:
  • INDIVIDUAL – Đại diện cho một người duy nhất. Đây là tuỳ chọn mặc định.
  • GROUP – Đại diện cho nhiều người.
có thể ghi

Phản hồi

Nếu thành công, phương thức này sẽ trả về một Tài nguyên danh bạ trong nội dung phản hồi.

Ví dụ

Lưu ý: Các đoạn mã mẫu của phương thức này không phải là ví dụ cho mọi ngôn ngữ lập trình được hỗ trợ (xem trang thông tin về các thư viện dùng cho ứng dụng để biết danh sách các ngôn ngữ được hỗ trợ).

Java

Dùng thư viện ứng dụng Java.

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

import java.io.IOException;

public class MyClass {
  // ...

  /**
   * Rename an existing contact for the current user.
   * 
   * @param service Authorized Mirror service.
   * @param contactId ID of the contact to rename.
   * @param newDisplayName New displayName for the contact.
   * @return Patched contact on success, {@code null} otherwise.
   */
  public static Contact renameContact(Mirror service, String contactId, String newDisplayName) {
    try {
      // Get the latest version of the contact from the API.
      Contact contact = service.contacts().get(contactId).execute();

      contact.setDisplayName(newDisplayName);
      // Send an update request to the API.
      return service. contacts().update(contactId, contact).execute();
    } catch (IOException e) {
      System.err.println("An error occurred: " + e);
      return null;
    }
  }

  // ...
}

.NET

Dùng thư viện ứng dụng.NET.

using System;

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

public class MyClass {
  // ...

  /// <summary>
  /// Rename an existing contact for the current user.
  /// </summary>
  /// <param name='service'>Authorized Mirror service.</param>
  /// <param name='contactId'>ID of the contact to rename.</param>
  /// <param name='newDisplayName'>
  /// New displayName for the contact.
  /// </param>
  /// <returns>
  /// Updated contact on success, null otherwise.
  /// </returns>
  public static Contact RRenameContact(MirrorService service,
      String contactId, String newDisplayName) {
    try {
      Contact contact = service.Contacts.Get(contactId).Fetch();
      contact.DisplayName = newDisplayName;
      return service.Contacts.Update(contact, contactId).Fetch();
    } catch (Exception e) {
      Console.WriteLine("An error occurred: " + e.Message);
      return null;
    }
  }

  // ...
}

1.199

Dùng thư viện ứng dụng PHP.

/**
 * Rename an existing contact for the current user.
 *
 * @param Google_MirrorService $service Authorized Mirror service.
 * @param string $contactId ID of the contact to rename.
 * @param string $newDisplayName New displayName for the contact.
 * @return Google_Contact Updated contact on success, null otherwise.
 */
function renameContact($service, $contactId, $newDisplayName) {
  try {
    $updatedContact = $service->contacts->get($contactId);
    $updatedContact->setDisplayName($newDisplayName);
    return $service->contacts->update($contactId, $updatedContact);
  } catch (Exception $e) {
    print 'An error occurred: ' . $e->getMessage();
    return null;
  }
}

Python

Dùng thư viện ứng dụng Python.

from apiclient import errors
# ...

def rename_contact(service, contact_id, new_display_name):
  """Rename an existing contact for the current user.

  Args:
    service: Authorized Mirror service.
    contact_id: ID of the contact to rename.
    new_display_name: New displayName for the contact.

  Returns:
    return Patched contact on success, None otherwise.
  """
  try:
    # Get the latest version of the contact from the API.
    contact = service.contacts().get(contact_id).execute()

    contact['displayName'] = new_display_name
    return service. contacts().update(
        id=contact_id, body=contact).execute()
  except errors.HttpError, e:
    print 'An error occurred: %s' % error
    return None

Ruby

Dùng thư viện ứng dụng Ruby.

##
# Rename an existing contact for the current user.
#
# @param [Google::APIClient] client
#   Authorized client instance.
# @param [String] contact_id
#   ID of the contact to rename.
# @param [String] new_display_name
#   New displayName for the contact.
# @return [Google::APIClient::Schema::Mirror::V1::Contact]
#   Updated contact on success, nil otherwise.
def rename_contact(client, contact_id, new_display_name)
  mirror = client.discovered_api('mirror', 'v1')
  # Get the latest version of the contact from the API.
  result = client.execute(
    :api_method => mirror.contacts.get,
    :parameters => { 'id' => contact_id })
  if result.success?
    contact = result.data
    contact.display_name = new_display_name
    result = client.execute(
      :api_method => mirror.contacts.update,
      :parameters => { 'id' => contact_id },
      :body_object => contact)
    if result.success?
      return result.data
    end
  end
  puts "An error occurred: #{result.data['error']['message']}"
end

Go

Dùng Thư viện ứng dụng Go.

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

// RenameContact renames an existing contact for the current user.
func RenameContact(g *mirror.Service, contactId string,
        newDisplayName string) (*mirror.Contact, error) {
        s, err := g. Contacts.Get(contactId).Do()
        if err != nil {
                fmt.Printf("An error occurred: %v\n", err)
                return nil, err
        }
        s.DisplayName = newDisplayName
        r, err := g.Contacts.Patch(contactId, s).Do()
        if err != nil {
                fmt.Printf("An error occurred: %v\n", err)
                return nil, err
        }
        return r, nil
}

HTTP thô

Không sử dụng thư viện ứng dụng.

PUT /mirror/v1/contacts/harold HTTP/1.1
Authorization: Bearer auth token
Content-Type: application/json
Content-Length: length

{
  "displayName": "Harold Penguin",
  "imageUrls": ["https://developers.google.com/glass/images/harold.jpg"]
}