Contacts: update

इसके लिए, अनुमति देना ज़रूरी है

किसी संपर्क को अपडेट करता है. उदाहरण देखें.

अनुरोध करें

एचटीटीपी अनुरोध

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

पैरामीटर

पैरामीटर का नाम वैल्यू जानकारी
पाथ पैरामीटर
id string संपर्क का आईडी.

अनुमति देना

इस अनुरोध को नीचे दिए गए दायरे के साथ अनुमति देना ज़रूरी है (पुष्टि करने और मंज़ूरी देने के बारे में ज़्यादा पढ़ें).

स्कोप
https://www.googleapis.com/auth/glass.timeline

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, इन प्रॉपर्टी के साथ संपर्क संसाधन उपलब्ध कराएं:

प्रॉपर्टी का नाम वैल्यू जानकारी ज़रूरी जानकारी
ज़रूरी प्रॉपर्टी
acceptCommands[].type string जिस तरह की कार्रवाई से यह निर्देश जुड़ा है. ये वैल्यू इस्तेमाल की जा सकती हैं:
  • TAKE_A_NOTE - "नोट लें" वॉइस मेन्यू कमांड से उपयोगकर्ता की बोली के ट्रांसक्रिप्शन के साथ एक टाइमलाइन आइटम शेयर करता है.
  • POST_AN_UPDATE - "अपडेट अपडेट करें" वॉइस मेन्यू कमांड से उपयोगकर्ता की बोली के ट्रांसक्रिप्शन के साथ टाइमलाइन आइटम शेयर किया जाता है.
लिखा जा सकता है
displayName string इस संपर्क के लिए दिखाया जाने वाला नाम. लिखा जा सकता है
id string इस संपर्क के लिए आईडी. यह ऐप्लिकेशन से जनरेट होता है और इसे अपारदर्शी टोकन माना जाता है. लिखा जा सकता है
imageUrls[] list संपर्क के लिए दिखाए जाने वाले इमेज यूआरएल का सेट. ज़्यादातर संपर्कों के लिए एक ही इमेज होगी, लेकिन "ग्रुप" संपर्क में ज़्यादा से ज़्यादा आठ इमेज यूआरएल हो सकते हैं. उनका साइज़ बदल दिया जाएगा और क्लाइंट पर मोज़ेक में काट दिया जाएगा. लिखा जा सकता है
ज़रूरी प्रॉपर्टी नहीं
acceptCommands[] list बोलकर दिए जाने वाले मेन्यू के उन निर्देशों की सूची जिन्हें कोई संपर्क मैनेज कर सकता है. वॉइस मेन्यू के हर निर्देश के लिए, ग्लास में ज़्यादा से ज़्यादा तीन संपर्क होते हैं. अगर इससे ज़्यादा, तो उस खास कमांड के लिए तीन सबसे ज़्यादा संपर्क priority दिखाए जाते हैं. लिखा जा सकता है
acceptTypes[] list MIME टाइप की सूची जिनका कोई संपर्क समर्थन करता है. अगर संपर्क को स्वीकार करने का तरीका आइटम पर मौजूद किसी भी तरह के अटैचमेंट से मेल खाता है, तो संपर्क को दिखाया जाएगा. अगर कोई और TypeType नहीं दिया गया है, तो संपर्क सभी आइटम के लिए दिखाया जाएगा. लिखा जा सकता है
phoneNumber string संपर्क के लिए प्राथमिक फ़ोन नंबर. हो सकता है कि यह नंबर पूरी तरह क्वालिफ़ाइड हो. इसमें देश का कॉलिंग कोड और एरिया कोड या स्थानीय नंबर शामिल होता है. लिखा जा सकता है
priority unsigned integer संपर्कों की सूची में संपर्कों का क्रम तय करने की प्राथमिकता. ज़्यादा प्राथमिकता वाले संपर्क कम प्राथमिकता वाले संपर्कों से पहले दिखाए जाएंगे. लिखा जा सकता है
speakableName string इस संपर्क का नाम जैसा कि उसका उच्चारण करना है. अगर इस संपर्क का नाम बोलकर दिया जाने वाला नाम साफ़ तौर पर नहीं बताया जाना चाहिए, तो इस नाम को उच्चारण के तौर पर इस्तेमाल किया जाएगा. यह ऐसे वर्णों के संपर्क नामों के लिए उपयोगी है जिनका उच्चारण नहीं किया जा सकता या जिनकी डिसप्ले स्पेलिंग फ़ोनेटिक नहीं है. लिखा जा सकता है
type string संपर्क किस तरह का है. इसका इस्तेमाल यूज़र इंटरफ़ेस (यूआई) में क्रम से लगाने के लिए किया जाता है. ये वैल्यू इस्तेमाल की जा सकती हैं:
  • INDIVIDUAL - एक व्यक्ति के बारे में बताता है. यह डिफ़ॉल्ट रूप से होता है.
  • GROUP - एक से ज़्यादा लोगों को दिखाता है.
लिखा जा सकता है

जवाब

अगर यह सफल होता है, तो यह तरीका रिस्पॉन्स के मुख्य भाग में संपर्क संसाधन दिखाता है.

उदाहरण

ध्यान दें: इस तरीके के लिए दिए गए कोड के उदाहरणों में इसके साथ काम करने वाली सभी प्रोग्रामिंग भाषाएं नहीं दिखाई गई हैं (इसके साथ काम करने वाली भाषाओं की सूची के लिए क्लाइंट लाइब्रेरी वाला पेज देखें).

Java

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

.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;
    }
  }

  // ...
}

PHP

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

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

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 क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

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
}

रॉ एचटीटीपी

क्लाइंट लाइब्रेरी का इस्तेमाल नहीं करता.

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"]
}