Contacts: update

Requer autorização

Atualiza um contato no local. Veja um exemplo.

Solicitação

Solicitação HTTP

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

Parâmetros

Nome do parâmetro Valor Descrição
Parâmetros de caminho
id string O ID do contato.

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 de contatos 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 da fala do usuário do comando de menu de voz "Criar uma nota".
  • POST_AN_UPDATE: compartilha um item da linha do tempo com a transcrição da fala do usuário do comando do menu de voz "Postar uma atualização".
gravável
displayName string O nome a ser exibido para esse 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 Glass mostra até três contatos para cada comando do menu de voz. Se houver mais, os três contatos com o priority mais alto vão aparecer 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 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 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 vão aparecer antes dos que têm prioridades mais baixas. gravável
speakableName string Nome deste contato, como deve ser pronunciado. Se o nome do contato precisar ser falado como parte de um menu de desambiguação por 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 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.

Java

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;

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

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

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

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

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

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

HTTP bruto

Não usa uma biblioteca de cliente.

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