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