アクティビティ用 XML
このトピックでは、OSC プロバイダーが実装し、OSC がアクティビティ情報を取得するために行う Outlook Social Connector (OSC) プロバイダー拡張 API 呼び出しを示すシナリオの例を示します。 情報は、OSC プロバイダー XML スキーマに準拠する XML 文字列で表されます。
OSC プロバイダー XML スキーマを使用すると、OSC プロバイダーはアクティビティを定義できます。 アクティビティ情報には、アクティビティ フィード項目が発生したソーシャル ネットワーク、各アクティビティ フィード項目の詳細 (アクティビティの所有者、種類、公開日など)、アクティビティを表示するテンプレートを含めることができます。 People ウィンドウまたは連絡先カードでのアクティビティの表示をサポートするには、ソーシャル ネットワークの OSC プロバイダーが正しいアクティビティ XML を実装して返す必要があります。 アクティビティ フィード XML の例については、「 アクティビティ フィード XML の例」を参照してください。 フレンドのアクティビティの同期の詳細については、「 フレンドとアクティビティの同期」を参照してください。 必要な要素や省略可能な要素など、OSC プロバイダー XML スキーマの完全な定義については、「 Outlook Social Connector Provider XML スキーマ」を参照してください。
次のシナリオでは、OSC はPeople ウィンドウで選択したユーザーのアクティビティを動的に同期し、そのユーザーに関する詳細を取得します。
アクティビティのオンデマンド同期をサポートする OSC プロバイダーは、getActivities 要素と dynamicActivitiesLookupEx 要素を使用して OSC にすることを示します。 OSC プロバイダーは 、hashFunction 要素も設定します。 3 つの要素はすべて 、機能の子要素です。
OSC プロバイダーは 、ISocialProvider::GetCapabilities と ISocialSession2::GetActivitiesEx メソッドを実装します。
OSC は ISocialProvider::GetCapabilities を呼び出して getActivities と dynamicActivitiesLookupEx の値をチェックし、OSC プロバイダーがアクティビティのオンデマンド同期をサポートしていることを確認します。 OSC は、OSC プロバイダーでサポートされている hashFunction 要素の値もメモします。
OSC は、選択したユーザーの最新のアクティビティをユーザーに表示できるように、People ウィンドウまたは連絡先カードを更新します。 OSC は、 hashFunction 要素で指定されたハッシュ関数を使用してユーザーの SMTP アドレスを暗号化し、 hashedAddresses 要素の XML スキーマ定義に準拠する XML 文字列を形成します。
OSC は ISocialSession2::GetActivitiesEx を呼び出し、ハッシュされたアドレスのこの XML 文字列を hashedAddresses パラメーターとして指定して、 activities パラメーターでそのユーザーのアクティビティの現在のコレクションを取得します。 activity パラメーター文字列は、activityFeed 要素の XML スキーマ定義に準拠しています。
activityFeed の XML スキーマ定義に基づいて、OSC はアクティビティ文字列をさらに解析して、各アクティビティの種類、公開日、およびその他の情報、およびアクティビティを表示する方法を確認します。
選択したユーザーの詳細を取得するために、OSC は ISocialSession2::GetPeopleDetails を呼び出し、 personsAddresses パラメーターの引数と同じハッシュ アドレスの XML 文字列を指定します。 personsCollection パラメーターには、ユーザーに関する詳細が返されます。 これらの詳細には、 firstName、 lastName、 emailAddress を含めることができます。 personsCollection パラメーターは、person 要素の XML スキーマ定義に準拠しています。
アクティビティに XML を指定する方法の詳細については、このセクションの次のトピックを参照してください。
- アクティビティ フィード項目の XML の概要
- activityDetails 要素
- activityTemplateContainer 要素
- テンプレート変数
- アクティビティを適切に表示するためのガイドライン