Contacts: update

Autorisierung erforderlich

Aktualisiert einen vorhandenen Kontakt. Beispiel ansehen

Anfrage

HTTP-Anfrage

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

Parameter

Parametername Wert Beschreibung
Pfadparameter
id string Die ID des Kontakts.

Autorisierung

Für diese Anfrage ist eine Autorisierung in folgendem Bereich erforderlich. Weitere Informationen zur Authentifizierung und Autorisierung

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

Anfragetext

Geben Sie im Anfragetext eine Kontaktressource mit den folgenden Eigenschaften an:

Property-Name Wert Beschreibung Hinweise
Erforderliche Properties
acceptCommands[].type string Der Vorgangstyp, dem dieser Befehl entspricht. Zulässige Werte:
  • TAKE_A_NOTE – Hier wird ein Zeitachsenelement mit der Transkription der Nutzersprache aus dem Sprachbefehl „Notiz erstellen“ geteilt.
  • POST_AN_UPDATE: Hier wird ein Zeitachsenelement mit der Transkription der Nutzersprache aus dem Sprachbefehl „Ein Update posten“ geteilt.
Bearbeitbar
displayName string Der Name, der für diesen Kontakt angezeigt werden soll. Bearbeitbar
id string Eine ID für diesen Kontakt. Es wird von der Anwendung generiert und als nicht transparentes Token behandelt. Bearbeitbar
imageUrls[] list Bild-URLs, die für einen Kontakt angezeigt werden sollen. Die meisten Kontakte haben ein einzelnes Bild, aber eine „Gruppe“ kann bis zu acht Bild-URLs enthalten. Diese werden auf dem Client in ihrer Größe angepasst und zu einem Mosaik zugeschnitten. Bearbeitbar
Optionale Attribute
acceptCommands[] list Eine Liste der Sprachmenübefehle, die ein Kontakt verarbeiten kann. Glass zeigt für jeden Menübefehl bis zu drei Kontakte an. Wenn mehr Werte vorhanden sind, werden für den jeweiligen Befehl die drei Kontakte mit dem höchsten priority angezeigt. Bearbeitbar
acceptTypes[] list Eine Liste der MIME-Typen, die ein Kontakt unterstützt. Der Kontakt wird dem Nutzer angezeigt, wenn einer seiner AcceptTypes mit einem der Typen der Anhänge für das Element übereinstimmt. Wenn keine „acceptTypes“ angegeben sind, wird der Kontakt für alle Artikel angezeigt. Bearbeitbar
phoneNumber string Die primäre Telefonnummer des Kontakts. Dies kann eine vollständig qualifizierte Nummer mit Ländervorwahl und Ortsvorwahl oder eine lokale Nummer sein. Bearbeitbar
priority unsigned integer Priorität des Kontakts zur Bestimmung der Reihenfolge in einer Kontaktliste. Kontakte mit höherer Priorität werden vor Kontakten mit niedrigerer Priorität angezeigt. Bearbeitbar
speakableName string Name dieses Kontakts, wie er ausgesprochen werden soll. Wenn der Name dieses Kontakts im Rahmen eines Menüs zur Sprachunterscheidung gesprochen werden muss, wird dieser Name als voraussichtliche Aussprache verwendet. Dies ist nützlich für Kontaktnamen, die nicht aussprechbare Zeichen enthalten oder deren Anzeige nicht phonetisch ist. Bearbeitbar
type string Der Typ dieses Kontakts. Dieser wird für die Sortierung in UIs verwendet. Zulässige Werte:
  • INDIVIDUAL: Stellt eine einzelne Person dar. Das ist die Standardeinstellung.
  • GROUP: Stellt mehr als eine Person dar.
Bearbeitbar

Antwort

Bei Erfolg gibt diese Methode eine Contacts-Ressource im Antworttext zurück.

Beispiele

Hinweis: Bei den für diese Methode verfügbaren Codebeispielen sind nicht alle unterstützten Programmiersprachen vertreten. Eine Liste der unterstützten Sprachen finden Sie auf der Seite für Clientbibliotheken.

Java

Verwendet die Java-Clientbibliothek.

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

Verwendet die .NET-Clientbibliothek.

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

Verwendet die PHP-Clientbibliothek.

/**
 * 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

Verwendet die Python-Clientbibliothek.

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

Verwendet die Ruby-Clientbibliothek.

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

Ok

Verwendet die Go-Clientbibliothek.

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

Verwendet keine Clientbibliothek.

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