Contacts: insert

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

नया संपर्क डालता है. उदाहरण देखें.

अनुरोध करें

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

POST https://www.googleapis.com/mirror/v1/contacts

अनुमति देना

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

स्कोप
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;
import java.util.Arrays;

public class MyClass {
  // ...

  /**
   * Insert a new contact for the current user.
   * 
   * @param service Authorized Mirror service.
   * @param contactId ID of the contact to insert.
   * @param displayName Display name for the contact to insert.
   * @param iconUrl URL of the contact's icon.
   * @return The inserted contact on success, {@code null} otherwise.
   */
  public static Contact insertContact(Mirror service, String contactId, String displayName,
      String iconUrl) {
    Contact contact = new Contact();
    contact.setId(contactId);
    contact.setDisplayName(displayName);
    contact.setImageUrls(Arrays.asList(iconUrl));

    try {
      return service.contacts().insert(contact).execute();
    } catch (IOException e) {
      System.err.println("An error occurred: " + e);
      return null;
    }
  }

  // ...
}

.NET

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

using System;
using System.Collections.Generic;

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

public class MyClass {
  // ...

  /// <summary>
  /// Insert a new contact for the current user.
  /// </summary>
  /// <param name='service'>Authorized Mirror service.</param>
  /// <param name='contactId'>ID of the contact to insert.</param>
  /// <param name='displayName'>
  /// Display name for the contact to insert.
  /// </param>
  /// <param name='iconUrl'>URL of the contact's icon.</param>
  /// <returns>
  /// The inserted contact on success, null otherwise.
  /// </returns>
  public static Contact InsertContact(MirrorService service,
      String contactId, String displayName, String iconUrl) {
    Contact contact = new Contact() {
      Id = contactId,
      DisplayName = displayName,
      ImageUrls = new List<String>() {iconUrl}
    };
    try {
      return service.Contacts.Insert(contact).Fetch();
    } catch (Exception e) {
      Console.WriteLine("An error occurred: " + e.Message);
      return null;
    }
  }

  // ...
}

PHP

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

/**
 * Insert a new contact for the current user.
 *
 * @param Google_MirrorService $service Authorized Mirror service.
 * @param string $contactId ID of the contact to insert.
 * @param string $displayName Display name for the contact to insert.
 * @param string $iconUrl URL of the contact's icon.
 * @return Google_Contact The inserted contact on success, null otherwise.
 */
function insertContact($service, $contactId, $displayName, $iconUrl) {
  try {
    $contact = new Google_Contact();
    $contact->setId($contactId);
    $contact->setDisplayName($displayName);
    $contact->setImageUrls(array($iconUrl));
    return $service->contacts->insert($contact);
  } catch (Exception $e) {
    print 'An error occurred: ' . $e->getMessage();
    return null;
  }
}

Python

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

from apiclient import errors
# ...

def insert_contact(service, contact_id, display_name, icon_url):
  """Insert a new contact for the current user.

  Args:
    service: Authorized Mirror service.
    contact_id: ID of the contact to insert.
    display_name: Display name for the contact to insert.
    icon_url: URL of the contact's icon.
  Returns:
    The inserted contact on success, None otherwise.
  """
  contact = {
      'id': contact_id,
      'displayName': display_name,
      'imageUrls': [icon_url]
  }
  try:
    service.contacts().insert(body=contact).execute()
  except errors.HttpError, error:
    print 'An error occurred: %s' % error
    return None

Ruby

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

##
# Insert a new contact for the current user.
#
# @param [Google::APIClient] client
#   Authorized client instance.
# @param [String] contact_id
#   ID of the contact to insert.
# @param [String] display_name
#   Display name for the contact to insert.
# @param [String] image_url
#   URL of the contact's icon.
# @return [Google::APIClient::Schema::Mirror::V1::Contact]
#   The inserted contact on success, nil otherwise.
def insert_contact(client, contact_id, display_name, image_url)
  mirror = client.discovered_api('mirror', 'v1')
  contact = mirror.contacts.insert.request_schema.new({
    'id' => contact_id,
    'displayName' => display_name,
    'imageUrls' => [image_url]
  })
  result = client.execute(
    :api_method => mirror.contacts.insert,
    :body_object => contact)
  if result.success?
    return result.data
  else
    puts "An error occurred: #{result.data['error']['message']}"
  end
end

शुरू करें

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

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

// InsertContact inserts a new contact for the current user.
func InsertContact(g *mirror.Service, contactId string,
        displayName string, iconUrl string) (*mirror.Contact, error) {
        s := &mirror.Contact{
                Id:          contactId,
                DisplayName: displayName,
                ImageUrls:     []string{iconUrl},
        }
        r, err := g.Contacts.Insert(s).Do()
        if err != nil {
                fmt.Printf("An error occurred: %v\n", err)
                return nil, err
        }
        return r, nil
}

रॉ एचटीटीपी

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

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

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