XML para amigos
O elemento friends no esquema XML do provedor Microsoft Outlook Social Connector (OSC) permite que um provedor OSC especifique informações para uma lista de pessoas associadas a um usuário do Outlook na rede social. Se o provedor OSC der suporte à sincronização em cache, essa lista de pessoas conterá apenas os amigos do usuário do Outlook na rede social. Se o OSC der suporte à sincronização por demanda ou híbrida, essa lista poderá conter amigos e não amigos do usuário do Outlook.
Cada pessoa na lista é representada como um elemento person no esquema XML, que dá suporte a detalhes como nome, sobrenome e endereços de e-mail. Os provedores OSC usam os elementos friends e person independentemente de como eles querem que o OSC sincronize as informações de amigos da rede social. Observe que os elementos filho de person são semelhantes a algumas das propriedades de um contato do Outlook, o que facilita o armazenamento de amigos em uma pasta de contatos do Outlook, específica para a rede social, se a rede social der suporte à sincronização híbrida ou em cache de amigos para uma pasta de contatos do Outlook.
Exemplos de cenários
Os cenários de exemplo a seguir mostram as chamadas à API de extensibilidade do provedor OSC que um provedor OSC implementa e o OSC faz para obter informações de amigos. As informações são expressas em cadeias de caracteres XML que estão em conformidade com o esquema XML do provedor OSC.
Confira um exemplo de XML de amigos em Exemplo XML de amigos. Saiba mais sobre como sincronizar informações de amigos em sincronização de amigos e atividades.
Cenário 1: obter uma lista de amigos
Cenário 1: o OSC obtém uma lista de amigos, um objeto ISocialPerson e uma imagem de cada amigo:
Um provedor OSC que dá suporte à exibição de amigos do site da rede social e permite que o OSC armazene em cache as informações de amigos indica isso ao OSC usando os elementos getFriends e cacheFriends, que são elementos filho do elemento capabilities.
O provedor OSC também implementa os métodos ISocialProvider::GetCapabilities, ISocialSession::GetPerson, ISocialPerson::GetFriendsAndColleagues e ISocialPerson::GetPicture.
O OSC chama o ISocialProvider::GetCapabilities para verificar o valor dos seguintes elementos: getFriends, para verificar se o provedor OSC der suporte à exibição de amigos da rede social, e cacheFriends para verificar se o provedor der suporte a amigos com armazenamento em cache.
O OSC chama o ISocialSession::GetPerson para obter um objeto ISocialPerson para o usuário do Outlook.
O OSC chama ISocialPerson::GetFriendsAndColleagues para obter a lista de amigos do usuário do Outlook retornada na cadeia de caracteres de parâmetro personCollection . A cadeia de caracteres personCollection está em conformidade com a definição de esquema XML para o elemento friends no esquema XML.
Para cada amigo na cadeia de caracteres XML personCollection , o OSC obtém o valor do elemento userID para chamar ISocialSession::GetPerson para obter um objeto ISocialPerson para esse amigo.
Para cada amigo na cadeia de caracteres XML personCollection, o OSC chama ISocialPerson::GetPicture para obter um recurso de imagem para esse amigo.
O OSC pode fazer chamadas adicionais no objeto ISocialPerson para obter atividades e detalhes (por exemplo, endereços de e-mail) desse amigo.
Cenário 2: sincronizar amigos
Cenário 2 — o OSC sincroniza amigos dinamicamente:
O provedor OSC que dá suporte à sincronização sob demanda de amigos e não amigos indica isso para o OSC usando os elementos getFriends e dynamicContactsLookup. O provedor OSC também define o elemento hashFunction. Todos os três elementos são elementos filhos de capabilities.
O provedor OSC também implementa o método ISocialSession2::GetPeopleDetails.
O OSC chama ISocialProvider::GetCapabilities para verificar os valores de getFriends e dynamicContactsLookup a fim de examinar se o provedor OSC der suporte a amigos e à sincronização sob demanda de amigos e não amigos. O OSC também cria uma nota do valor de hashFunction com suporte no provedor OSC.
Para cada usuário exibido no Painel de Pessoas, o OSC coleta o endereço de e-mail do usuário e o criptografa usando a função hash especificada em hashFunction. Isso forma uma cadeia de caracteres XML que está em conformidade com a definição do esquema XML para o elemento hashedAddresses.
O OSC chama ISocialSession2::GetPeopleDetails, fornecendo essa cadeia de caracteres XML de endereços hash como o parâmetro personAddresses , para obter dinamicamente detalhes atualizados para pessoas no parâmetro personsCollection . A cadeia de caracteres de parâmetro personsCollection está em conformidade com a definição de esquema XML para o elemento friends no esquema XML.
Elementos pai e filho
A seguir estão os dois elementos de nível superior no esquema friends.
Elemento | Descrição |
---|---|
friends |
Representa o elemento raiz de uma lista de elementos person. O ISocialPerson::GetFriendsAndColleagues, o ISocialSession::FindPerson e o ISocialSession2::GetPeopleDetails retornam as cadeias de caracteres XML que estejam em conformidade com a definição de esquema do elemento friends. |
person |
Representa uma pessoa em uma lista de elementos person. O método ISocialPerson::GetDetails retorna uma cadeia de caracteres XML que está em conformidade com a definição de esquema do elemento person. |
A tabela a seguir descreve cada elemento filho do elemento person no esquema XML do provedor OSC.
Para obter uma definição completa do esquema XML do provedor OSC, inclusive de quais elementos são obrigatórios ou opcionais, confira o Esquema XML do Provedor do Outlook Social Connector.
Elemento | Descrição |
---|---|
address |
Endereço físico da pessoa. |
anniversary |
Data de aniversário de algum evento relacionado à pessoa. |
askmeabout |
Tópicos de interesse ou especialização da pessoa. |
birthday |
Data de nascimento da pessoa. |
businessAddress |
Endereço físico do local de trabalho da pessoa. |
businessCity |
Cidade do local de trabalho da pessoa. |
businessCountryOrRegion |
País ou região do local de trabalho da pessoa. |
businessState |
Estado ou província do local de trabalho da pessoa. |
businessZip |
CEP ou código postal do local de trabalho da pessoa. |
cell |
Número de telefone celular da pessoa. |
city |
Cidade do endereço físico da pessoa. |
company |
Nome da empresa associada à pessoa. |
countryOrRegion |
País ou região do endereço físico da pessoa. |
creationTime |
Hora da criação do perfil da pessoa na rede social. |
emailAddress |
Endereço de email principal da pessoa. |
emailAddress2 |
Endereço de email secundário da pessoa. |
emailAddress3 |
Endereço de email terciário da pessoa. |
expirationTime |
Hora que os dados do perfil da pessoa expiram na rede social. |
fileAs |
Cadeia de caracteres pela qual a pessoa deve ser arquivada como um contato em um arquivo de contatos do Outlook. |
firstName |
Primeiro nome da pessoa. |
friendStatus |
Status de amigo dessa pessoa com o usuário conectado na rede social. Deve ser um dos seguintes valores: friend, nonfriend, pending, pendingin, pendingout. |
fullName |
Nome completo da pessoa. |
gender |
Gênero da pessoa. Deve ser um dos seguintes valores: male, female, unspecified. |
homePhone |
Número de telefone residencial da pessoa. |
index |
Local do endereço hash da pessoa no parâmetro de cadeia de caracteres personsAddresses passado para uma chamada para o método ISocialSession2::GetPeopleDetails . Ele também indica a pessoa XML da pessoa na cadeia de caracteres PersonsCollection retornada por GetPeopleDetails. |
industries |
Setores com os quais a pessoa está envolvida. |
interests |
Interesses ou hobbies da pessoa. |
lastModificationTime |
Hora em que o perfil da pessoa foi modificado pela última vez na rede social. |
lastName |
Sobrenome da pessoa. |
location |
A localização da pessoa. |
nickname |
Um nome mais curto ou nome inventado para a pessoa. |
otherAddress |
Endereço alternativo da pessoa. |
otherCity |
Cidade do endereço alternativo da pessoa. |
otherCountryOrRegion |
País ou região do endereço alternativo da pessoa. |
otherState |
Estado ou província do endereço alternativo da pessoa. |
otherZip |
CEP ou código postal do endereço alternativo da pessoa. |
phone |
Número de telefone principal de contato da pessoa. |
pictureUrl |
URL da foto de perfil da pessoa. |
relationship |
Relacionamento dessa pessoa com o usuário conectado. |
schools |
Escolas/faculdades que a pessoa frequentou ou frequenta. |
skills |
Habilidades da pessoa. |
state |
Estado ou província do endereço físico da pessoa. |
title |
Designação de título atribuído ao nome pessoa. |
userID |
ID para identificar a pessoa na rede social. |
webProfilePage |
Endereço da página da Web que contém o perfil da pessoa. |
website |
Site da pessoa. |
workPhone |
Número de telefone comercial da pessoa. |
zip |
CEP ou código postal do endereço físico da pessoa. |