Contacts: insert

Memerlukan otorisasi

Menyisipkan kontak baru. Lihat contoh.

Permintaan

Permintaan HTTP

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

Otorisasi

Permintaan ini memerlukan otorisasi dengan cakupan berikut (baca lebih lanjut tentang autentikasi dan otorisasi).

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

Isi permintaan

Dalam isi permintaan, sediakan resource Kontak dengan properti berikut:

Nama properti Nilai Deskripsi Catatan
Properti yang Diperlukan
acceptCommands[].type string Jenis operasi yang sesuai dengan perintah ini. Nilai yang diizinkan adalah:
  • TAKE_A_NOTE - Membagikan item linimasa dengan transkripsi ucapan pengguna dari perintah menu suara "Buat catatan".
  • POST_AN_UPDATE - Membagikan item linimasa dengan transkripsi ucapan pengguna dari perintah menu suara "Posting update".
dapat ditulis
displayName string Nama yang akan ditampilkan untuk kontak ini. dapat ditulis
id string ID untuk kontak ini. Ini dibuat oleh aplikasi dan diperlakukan sebagai token buram. dapat ditulis
imageUrls[] list Kumpulan URL gambar yang akan ditampilkan untuk kontak. Sebagian besar kontak akan memiliki satu gambar, tetapi satu kontak "grup" dapat menyertakan hingga 8 URL gambar dan kontak tersebut akan diubah ukurannya dan dipangkas menjadi mozaik pada klien. dapat ditulis
Properti Opsional
acceptCommands[] list Daftar perintah menu suara yang dapat ditangani kontak. Glass menampilkan hingga tiga kontak untuk setiap perintah menu suara. Jika ada lebih dari itu, tiga kontak dengan priority tertinggi akan ditampilkan untuk perintah khusus tersebut. dapat ditulis
acceptTypes[] list Daftar jenis MIME yang didukung oleh kontak. Kontak akan ditampilkan kepada pengguna jika salah satu AcceptTypes-nya cocok dengan salah satu jenis lampiran pada item. Jika tidak ada allowTypes yang diberikan, kontak akan ditampilkan untuk semua item. dapat ditulis
phoneNumber string Nomor telepon utama untuk kontak. Ini dapat berupa nomor yang sepenuhnya memenuhi syarat, dengan kode panggilan negara dan kode area, atau nomor lokal. dapat ditulis
priority unsigned integer Prioritas kontak untuk menentukan urutan dalam daftar kontak. Kontak dengan prioritas lebih tinggi akan ditampilkan sebelum kontak dengan prioritas lebih rendah. dapat ditulis
speakableName string Nama kontak ini karena harus diucapkan. Jika nama kontak ini harus diucapkan sebagai bagian dari menu disambiguasi suara, nama ini digunakan sebagai pengucapan yang diharapkan. Hal ini berguna untuk nama kontak dengan karakter yang tidak dapat diucapkan atau ejaan tampilan yang tidak bersifat fonetik. dapat ditulis
type string Jenis kontak ini. Ini digunakan untuk mengurutkan di UI. Nilai yang diizinkan adalah:
  • INDIVIDUAL - Mewakili satu orang. Ini adalah defaultnya.
  • GROUP - Mewakili lebih dari satu orang.
dapat ditulis

Tanggapan

Jika berhasil, metode ini menampilkan Resource kontak di isi respons.

Contoh

Catatan: Contoh kode yang tersedia untuk metode ini tidak merepresentasikan semua bahasa pemrograman yang didukung (lihat halaman library klien untuk mengetahui daftar bahasa yang didukung).

Java

Menggunakan library klien 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

Menggunakan library klien .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

Menggunakan library klien 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

Menggunakan library klien 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

Menggunakan library klien 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

Menggunakan library klien 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
}

HTTP Mentah

Tidak menggunakan library klien.

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