Contacts: update

Requiere autorización.

Actualiza un contacto. Ve un ejemplo.

Solicitud

Solicitud HTTP

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

Parámetros

Nombre del parámetro Valor Descripción
Parámetros de ruta de acceso
id string El ID del contacto.

Autorización

Esta solicitud requiere autorización con el siguiente alcance (obtén más información sobre la autenticación y autorización).

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

Cuerpo de la solicitud

En el cuerpo de la solicitud, suministra un recurso Contactos con las siguientes propiedades:

Nombre de la propiedad Valor Descripción Notas
Propiedades obligatorias
acceptCommands[].type string El tipo de operación al que corresponde este comando. Los valores permitidos son:
  • TAKE_A_NOTE: Comparte un elemento de cronograma con la transcripción de la voz del usuario a partir del comando del menú de voz "Crear una nota".
  • POST_AN_UPDATE: Comparte un elemento de cronograma con la transcripción de la voz del usuario a partir del comando del menú de voz "Publicar una actualización".
admite escritura
displayName string El nombre que se mostrará para este contacto. admite escritura
id string Es el ID de este contacto. La genera la aplicación y se trata como un token opaco. admite escritura
imageUrls[] list Conjunto de URL de imagen para mostrar a un contacto. La mayoría de los contactos tienen una sola imagen, pero los contactos de "grupo" pueden incluir hasta 8 URL de imágenes y se les cambiará el tamaño y se recortarán para crear un mosaico en el cliente. admite escritura
Propiedades opcionales
acceptCommands[] list Una lista de comandos del menú de voz que un contacto puede manejar. Glass muestra hasta tres contactos para cada comando del menú de voz. Si hay más que eso, se muestran los tres contactos con el priority más alto para ese comando en particular. admite escritura
acceptTypes[] list Una lista de los tipos de MIME que admite un contacto. El contacto se mostrará al usuario si cualquiera de sus AcceptTypes coincide con cualquiera de los tipos de archivos adjuntos del elemento. Si no se acepta AcceptTypes, el contacto se mostrará para todos los elementos. admite escritura
phoneNumber string Es el número de teléfono principal del contacto. Puede ser un número completo, con código de país y de área, o un número local. admite escritura
priority unsigned integer Prioridad para que el contacto determine el orden en una lista de contactos. Los contactos con prioridades más altas se mostrarán antes que los contactos con prioridades más bajas. admite escritura
speakableName string Nombre de este contacto, como debe pronunciarse. Si el nombre de este contacto debe pronunciarse como parte de un menú de desambiguación de voz, se usa como la pronunciación esperada. Esto es útil para los nombres de contactos que tienen caracteres impronunciables o cuya ortografía no se ve fonética. admite escritura
type string Es el tipo de este contacto. Se usa para ordenar las IU. Los valores permitidos son:
  • INDIVIDUAL: Representa a una sola persona. Esta es la opción predeterminada.
  • GROUP: Representa a más de una sola persona.
admite escritura

Respuesta

Si se aplica correctamente, este método muestra un recurso Contactos en el cuerpo de la respuesta.

Ejemplos

Nota: Los ejemplos de código disponibles para este método no representan todos los lenguajes de programación admitidos (consulta la página de bibliotecas cliente para consultar una lista de lenguajes admitidos).

Java

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

Comienza a usarlo

Usa la biblioteca cliente de 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 sin procesar

No usa una biblioteca 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"]
}