友だち用 XML
Microsoft Outlook Social Connector (OSC) プロバイダー XML スキーマの friends 要素を使用すると、OSC プロバイダーは、ソーシャル ネットワーク内の Outlook ユーザーに関連付けられているユーザーの一覧に関する情報を指定できます。 OSC プロバイダーがキャッシュされた同期をサポートしている場合、このユーザーの一覧には、ソーシャル ネットワーク上の Outlook ユーザーのフレンドのみが含まれます。 OSC がオンデマンド同期またはハイブリッド同期をサポートしている場合、この一覧には Outlook ユーザーのフレンドとフレンド以外の両方が含まれている可能性があります。
リスト内の各ユーザーは、名、姓、電子メール アドレスなどの詳細をサポートする XML スキーマの person 要素として表されます。 OSC プロバイダーは、OSC がソーシャル ネットワークからフレンド情報を同期する方法に関係なく、 フレンド と 人 の要素を使用します。 人の子要素は、Outlook 連絡先のプロパティの一部に似ています。これは、ソーシャル ネットワークが Outlook 連絡先フォルダーへのフレンドのキャッシュまたはハイブリッド同期をサポートしている場合に、ソーシャル ネットワークに固有の Outlook 連絡先フォルダーにフレンドを格納するのに役に当ちます。
シナリオ例
次のシナリオ例は、OSC プロバイダーが実装する OSC プロバイダー拡張 API 呼び出しと、OSC がフレンド情報を取得するために行う OSC プロバイダーの拡張 API 呼び出しを示しています。 情報は、OSC プロバイダー XML スキーマに準拠する XML 文字列で表されます。
フレンド XML の例については、「フレンド XML の 例」を参照してください。 フレンドの情報の同期の詳細については、「 フレンドとアクティビティの同期」を参照してください。
シナリオ 1: フレンドの一覧を取得する
シナリオ 1 : OSC はフレンドのリストと ISocialPerson オブジェクトと各フレンドの画像を取得します。
ソーシャル ネットワーク サイトからのフレンドの表示をサポートし、OSC がフレンド情報をキャッシュできるようにする OSC プロバイダーは、機能要素の子要素である getFriends 要素と cacheFriends 要素を使用して OSC にそのことを示します。
OSC プロバイダーは 、ISocialProvider::GetCapabilities、 ISocialSession::GetPerson、 ISocialPerson::GetFriendsAndColleagues、 および ISocialPerson::GetPicture メソッドも実装します。
OSC は ISocialProvider::GetCapabilities を呼び出して、次の要素の値をチェックします。getFriends は、OSC プロバイダーがソーシャル ネットワークからのフレンドの表示をサポートしていることを確認し、cacheFriends を呼び出して、プロバイダーがフレンドのキャッシュをサポートしていることを確認します。
OSC は ISocialSession::GetPerson を呼び出して、Outlook ユーザーの ISocialPerson オブジェクトを取得します。
OSC は ISocialPerson::GetFriendsAndColleagues を呼び出して、 personCollection パラメーター文字列で返された Outlook ユーザーのフレンド リストを取得します。 personCollection 文字列は、XML スキーマ内の friends 要素の XML スキーマ定義に準拠しています。
personCollection XML 文字列内のフレンドごとに、OSC は userID 要素の値を取得して ISocialSession::GetPerson を呼び出して、そのフレンドの ISocialPerson オブジェクトを取得します。
personCollection XML 文字列内の各フレンドについて、OSC は ISocialPerson::GetPicture を呼び出して、そのフレンドの画像リソースを取得します。
OSC は ISocialPerson オブジェクトをさらに呼び出して、そのフレンドのアクティビティと詳細 (メール アドレスなど) を取得できます。
シナリオ 2: フレンドを同期する
シナリオ 2: OSC はフレンドを動的に同期します。
フレンドとフレンド以外のオンデマンド同期をサポートする OSC プロバイダーは、 getFriends 要素と dynamicContactsLookup 要素を使用して OSC に対してこれを示します。 OSC プロバイダーは 、hashFunction 要素も設定します。 3 つの要素はすべて 、機能の子要素です。
OSC プロバイダーは 、ISocialSession2::GetPeopleDetails メソッドも実装します。
OSC は ISocialProvider::GetCapabilities を呼び出して getFriends と dynamicContactsLookup の値をチェックし、OSC プロバイダーがフレンドとフレンド以外のオンデマンド同期をサポートしていることを確認します。 OSC は、OSC プロバイダーでサポートされている hashFunction の値も書き留めます。
People ウィンドウに表示されるユーザーごとに、OSC はユーザーの電子メール アドレスを収集し、hashFunction で指定されたハッシュ関数を使用して暗号化します。 これにより、 hashedAddresses 要素の XML スキーマ定義に準拠する XML 文字列が形成されます。
OSC は ISocialSession2::GetPeopleDetails を呼び出し、 personAddresses パラメーターとしてハッシュされたアドレスのこの XML 文字列を指定して、 personsCollection パラメーター内のユーザーの更新された詳細を動的に取得します。 personsCollection パラメーター文字列は、XML スキーマ内の friends 要素の XML スキーマ定義に準拠しています。
親要素と子要素
フレンド スキーマの 最上位の 2 つの要素を次に示します。
要素 | 説明 |
---|---|
友人 |
person 要素のリストのルート要素を表します。 ISocialPerson::GetFriendsAndColleagues、ISocialSession::FindPerson、および ISocialSession2::GetPeopleDetails は、friends 要素のスキーマ定義に準拠する XML 文字列を返します。 |
person |
person 要素のリスト内の 1 人のユーザー を表します。 ISocialPerson::GetDetails メソッドは、person 要素のスキーマ定義に準拠する XML 文字列を返します。 |
次の表では、OSC プロバイダー XML スキーマの person 要素の各子要素について説明します。
必要な要素や省略可能な要素など、OSC プロバイダー XML スキーマの完全な定義については、「 Outlook Social Connector Provider XML スキーマ」を参照してください。
要素 | 説明 |
---|---|
address |
人の物理的な住所。 |
記念 日 |
その人のイベントの記念日。 |
askmeabout |
関心のあるトピックまたはその人の専門知識。 |
birthday |
その人の生年月日。 |
businessAddress |
その人の職場の物理的な住所。 |
businessCity |
その人の職場の市区町村。 |
businessCountryOrRegion |
ユーザーの職場の国または地域。 |
businessState |
その人の職場の州または都道府県。 |
businessZip |
人の職場の郵便番号。 |
セル |
その人の携帯電話番号。 |
city |
人物の住所の市区町村。 |
company |
ユーザーに関連付けられている会社の名前。 |
countryOrRegion |
個人の住所の国または地域。 |
creationTime |
ソーシャル ネットワーク上のユーザーのプロファイルの作成時間。 |
emailAddress |
ユーザーのプライマリ メール アドレス。 |
emailAddress2 |
ユーザーのセカンダリ メール アドレス。 |
emailAddress3 |
ユーザーの 3 番目のメール アドレス。 |
expirationTime |
ソーシャル ネットワークでユーザーのプロファイル データの有効期限が切れる時間。 |
fileAs |
Outlook 連絡先ファイルの連絡先としてユーザーを提出する文字列。 |
firstName |
名またはユーザーの名前を指定します。 |
friendStatus |
ソーシャル ネットワーク上のログオン ユーザーを持つこのユーザーのフレンドの状態。 friend、nonfriend、pending、pendingin、pendingout のいずれかの値である必要があります。 |
Fullname |
ユーザーのフル ネーム。 |
性別 |
人の性別。 次のいずれかの値を指定する必要があります。 男性、 女性、 指定なし。 |
homePhone |
個人の自宅電話番号。 |
index |
ISocialSession2::GetPeopleDetails メソッドの呼び出しに渡される personsAddresses 文字列パラメーター内のユーザーのハッシュ アドレスの場所。 また、GetPeopleDetails によって返される personsCollection 文字列内のユーザーの person XML も示します。 |
産業 |
その人が関与している業界。 |
interests |
人の興味や趣味。 |
lastModificationTime |
ソーシャル ネットワークでユーザーのプロファイルが最後に変更された時刻。 |
lastName |
ユーザーの姓または姓。 |
location |
ユーザーの場所。 |
ニックネーム |
人の短い名前または発明された名前。 |
otherAddress |
人の別の番地。 |
otherCity |
ユーザーの別の住所の市区町村。 |
otherCountryOrRegion |
ユーザーの代替住所の国または地域。 |
otherState |
ユーザーの代替住所の州または都道府県。 |
otherZip |
ユーザーの代替住所の郵便番号。 |
電話 |
個人の主要連絡先電話番号。 |
pictureUrl |
ユーザーのプロフィール画像の URL。 |
関係 |
このユーザーとログオン ユーザーの関係。 |
schools |
その人が行ったり行ったりした学校。 |
skills |
人の個人的なスキル。 |
state |
人の物理的な住所の州または都道府県。 |
title |
ユーザーの名前に追加された指定。 |
Userid |
ソーシャル ネットワーク上のユーザーを識別する ID。 |
webProfilePage |
ユーザーのプロファイルを含む Web ページ アドレス。 |
ウェブサイト |
ユーザーの Web サイト。 |
workPhone |
ユーザーのビジネス電話番号。 |
Zip |
個人の住所の郵便番号または郵便番号。 |