Requires authorization
Updates a contact in place. See an example.
Request
HTTP request
PUT https://www.googleapis.com/mirror/v1/contacts/id
Parameters
Parameter name | Value | Description |
---|---|---|
Path parameters | ||
id |
string |
The ID of the contact. |
Authorization
This request requires authorization with the following scope (read more about authentication and authorization).
Scope |
---|
https://www.googleapis.com/auth/glass.timeline |
Request body
In the request body, supply a Contacts resource with the following properties:
Property name | Value | Description | Notes |
---|---|---|---|
Required Properties | |||
acceptCommands[].type |
string |
The type of operation this command corresponds to. Allowed values are:
|
writable |
displayName |
string |
The name to display for this contact. | writable |
id |
string |
An ID for this contact. This is generated by the application and is treated as an opaque token. | writable |
imageUrls[] |
list |
Set of image URLs to display for a contact. Most contacts will have a single image, but a "group" contact may include up to 8 image URLs and they will be resized and cropped into a mosaic on the client. | writable |
Optional Properties | |||
acceptCommands[] |
list |
A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command. |
writable |
acceptTypes[] |
list |
A list of MIME types that a contact supports. The contact will be shown to the user if any of its acceptTypes matches any of the types of the attachments on the item. If no acceptTypes are given, the contact will be shown for all items. | writable |
phoneNumber |
string |
Primary phone number for the contact. This can be a fully-qualified number, with country calling code and area code, or a local number. | writable |
priority |
unsigned integer |
Priority for the contact to determine ordering in a list of contacts. Contacts with higher priorities will be shown before ones with lower priorities. | writable |
speakableName |
string |
Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic. | writable |
type |
string |
The type for this contact. This is used for sorting in UIs. Allowed values are:
|
writable |
Response
If successful, this method returns a Contacts resource in the response body.
Examples
Note: The code examples available for this method do not represent all supported programming languages (see the client libraries page for a list of supported languages).
Java
Uses the Java client library.
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
Uses the .NET client library.
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
Uses the PHP client library.
/** * 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
Uses the Python client library.
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
Uses the Ruby client library.
## # 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
Uses the Go client library.
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 }
Raw HTTP
Does not use a client library.
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"] }