Contacts: insert

Yetkilendirme gerektiriyor

Yeni kişi ekler. Örneğe göz atın.

İstek

HTTP isteği

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

Yetkilendirme

Bu istek, aşağıdaki kapsamla yetkilendirme gerektiriyor (kimlik doğrulama ve yetkilendirme hakkında daha fazla bilgi edinin).

Kapsam
https://www.googleapis.com/auth/glass.timeline

İstek içeriği

İstek gövdesinde, aşağıdaki özelliklere sahip bir Kişiler kaynağı sağlayın:

Mülk adı Değer Açıklama Notlar
Zorunlu Özellikler
acceptCommands[].type string Bu komutun karşılık gelen işlem türü. İzin verilen değerler:
  • TAKE_A_NOTE - "Not alın" bölümündeki kullanıcı konuşmasının metne dönüştürülmüş halini içeren bir zaman çizelgesi öğesi paylaşır sesli menü komutu.
  • POST_AN_UPDATE - "Güncelleme yayınlayın" bölümündeki kullanıcı konuşmasının metne dönüştürülmüş halini içeren bir zaman çizelgesi öğesi paylaşır sesli menü komutu.
yazılabilir
displayName string Bu kişi için görüntülenecek ad. yazılabilir
id string Bu kişinin kimliği. Bu kimlik, uygulama tarafından oluşturulur ve opak bir jeton olarak kabul edilir. yazılabilir
imageUrls[] list Bir kişi için görüntülenecek resim URL'leri grubu. Çoğu kişinin tek bir resmi, ancak bir "grup" olur iletişim kutusu en fazla 8 resim URL'si içerebilir ve bu URL'ler yeniden boyutlandırılır ve istemcide bir mozaik şeklinde kırpılır. yazılabilir
İsteğe Bağlı Özellikler
acceptCommands[] list Kişinin işleyebileceği sesli menü komutlarının listesi. Glass, her sesli menü komutu için en fazla üç kişi gösterir. Bundan fazla sayıda kişi varsa ilgili komut için priority değeri en yüksek olan üç kişi gösterilir. yazılabilir
acceptTypes[] list Kişinin desteklediği MIME türlerinin listesi. allowType'lardan herhangi biri, öğedeki ek türlerinden herhangi biriyle eşleşirse kişi kullanıcıya gösterilir. AcceptType belirtilmezse tüm öğeler için ilgili kişi gösterilir. yazılabilir
phoneNumber string Kişinin birincil telefon numarası. Bu, ülke arama kodu ve alan kodu içeren tam bir numara veya yerel bir numara olabilir. yazılabilir
priority unsigned integer Kişinin, kişi listesindeki sıralamasını belirleme önceliği. Yüksek önceliğe sahip kişiler, düşük öncelikli kişilerden önce gösterilir. yazılabilir
speakableName string Bu kişinin telaffuz edilmesi gereken adı. Bu kişinin adının bir sesli açıklama menüsünün parçası olarak söylenmesi gerekiyorsa bu ad, beklenen telaffuz olarak kullanılır. Bu özellik, telaffuz edilemeyen karakterler içeren veya görüntü yazımı fonetik olmayan kişi adları için yararlıdır. yazılabilir
type string Bu kişinin türü. Bu, kullanıcı arayüzlerinde sıralama yapmak için kullanılır. İzin verilen değerler:
  • INDIVIDUAL - Tek bir kişiyi temsil eder. Bu, varsayılan ayardır.
  • GROUP: Birden çok kişiyi temsil eder.
yazılabilir

Yanıt

Başarılı olursa bu yöntem yanıt gövdesinde bir Kişiler kaynağı döndürür.

Örnekler

Not: Bu yöntem için kullanıma sunulan kod örnekleri, desteklenen tüm programlama dillerini kapsamaz (Desteklenen dillerin listesi için istemci kitaplıkları sayfasını inceleyin).

Java

Java istemci kitaplığını kullanır.

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 istemci kitaplığını kullanır.

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 istemci kitaplığını kullanır.

/**
 * 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 istemci kitaplığını kullanır.

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 istemci kitaplığını kullanır.

##
# 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

Go istemci kitaplığını kullanır.

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
}

Ham HTTP

İstemci kitaplığı kullanmaz.

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