Contacts: insert

Requer autorização

Insere um novo contato. Veja um exemplo.

Solicitação

Solicitação HTTP

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

Autorização

Essa solicitação requer uma autorização com o escopo a seguir (mais informações sobre autenticação e autorização).

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

Corpo da solicitação

No corpo da solicitação, forneça um recurso "Contacts" com as seguintes propriedades:

Nome da propriedade Valor Descrição Observações
Propriedades obrigatórias
acceptCommands[].type string O tipo de operação a que este comando corresponde. Os valores permitidos são:
  • TAKE_A_NOTE: compartilha um item da linha do tempo com a transcrição do discurso do usuário do recurso "Criar uma nota". comando do menu de voz.
  • POST_AN_UPDATE: compartilha um item da linha do tempo com a transcrição do discurso do usuário em "Postar uma atualização". comando do menu de voz.
gravável
displayName string O nome a ser exibido para este contato. gravável
id string Um ID para este contato. Ele é gerado pelo aplicativo e tratado como um token opaco. gravável
imageUrls[] list Conjunto de URLs de imagens a serem exibidos para um contato. A maioria dos contatos terá uma única imagem, mas um "grupo" O contato pode incluir até oito URLs de imagem, que serão redimensionados e cortados em um mosaico no cliente. gravável
Propriedades opcionais
acceptCommands[] list Uma lista de comandos do menu de voz que um contato pode processar. O Google Glass mostra até três contatos para cada comando do menu de voz. Se houver mais do que isso, os três contatos com o maior priority serão mostrados para esse comando específico. gravável
acceptTypes[] list Uma lista de tipos MIME que um contato aceita. O contato será mostrado ao usuário se qualquer um dos AcceptTypes corresponder a qualquer um dos tipos de anexos no item. Se nenhum AcceptTypes for fornecido, o contato será mostrado para todos os itens. gravável
phoneNumber string Número de telefone principal do contato. Pode ser um número totalmente qualificado, com código de chamada do país e código de área, ou um número local. gravável
priority unsigned integer Prioridade para o contato determinar a ordem em uma lista de contatos. Os contatos com prioridades mais altas serão exibidos antes dos contatos com prioridades mais baixas. gravável
speakableName string Nome deste contato, como deve ser pronunciado. Se o nome desse contato precisar ser falado como parte de um menu de desambiguação de voz, ele será usado como a pronúncia esperada. Isso é útil para nomes de contatos com caracteres não pronunciáveis ou cuja grafia não seja fonética. gravável
type string O tipo deste contato. Isso é usado para classificação nas IUs. Os valores permitidos são:
  • INDIVIDUAL: representa uma única pessoa. Esse é o padrão.
  • GROUP: representa mais de uma única pessoa.
gravável

Resposta

Se for bem-sucedido, esse método retornará um recurso "Contacts" no corpo da resposta.

Exemplos

Observação: os exemplos de código disponíveis para esse método não representam todas as linguagens de programação compatíveis. Consulte a página de bibliotecas cliente para ver uma lista de linguagens compatíveis.

Usa a biblioteca cliente de 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;
   
}
 
}

 
// ...
}

Usa a biblioteca de cliente.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;
   
}
 
}

 
// ...
}

Usa a biblioteca cliente de 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;
 
}
}

Usa a biblioteca cliente de 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

Usa a biblioteca de cliente 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

Usa a biblioteca de cliente 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
}

Não usa uma biblioteca de cliente.

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