RSS フィードと Atom フィードの使用

Sync Services for FeedSync を使用すると、レプリカが RSS フィードまたは Atom フィードを使用して、フィード項目をそのデータ ストアに適用できます。内部的には、フィードが同期プロバイダとして表されます。Sync Services が Sync Framework のコンポーネントを使用することによって、フィード プロバイダと、レプリカを表すプロバイダとの間でフィード項目を同期します。したがって、アプリケーション側では、フィードとして提供された XML 形式の ID と項目データを変換するメソッドを実装するだけで済みます。変更の検出、競合の検出、データ ストアへの変更の適用など、基本的な同期タスクは、Sync Framework によって処理されます。

フィードを使用するには、アプリケーションでフィード コンシューマ オブジェクトを作成し、次の項目を指定します。

  • 変換済みのフィード項目の適用先となるレプリカを表す同期プロバイダ。

  • ID および項目のコンバータ オブジェクト。

  • 使用対象の RSS フィードまたは Atom フィードを含むストリーム。

次に、フィード コンシューマ オブジェクトの適切なメソッドを呼び出してフィードを使用します。フィードを使用する際、Sync Services for FeedSync は、フィードを同期プロバイダにラップし、フィード プロバイダとローカル プロバイダをそれぞれ同期元プロバイダおよび同期先プロバイダとする同期セッションを開始します。処理中、Sync Services は、ID および項目のコンバータを呼び出して、ID および項目データを、対応するレプリカ用の形式に変換します。その後、項目変更がローカル プロバイダによってレプリカに適用されます。処理が完了した時点で、レプリカには、FeedSync フィードからの使用済み項目が格納されます。

ID および項目のコンバータ オブジェクトの詳細については、「RSS フィードと Atom フィード対応のための ID および項目の変換」を参照してください。

FeedSync フィードの詳細については、FeedSync の Web サイトを参照してください。

マネージ コードによるフィードの使用

FeedSync フィードを使用するには、まず、FeedConsumer を使用して FeedConsumer オブジェクトを作成し、次のオブジェクトを渡します。

  • アプリケーションに実装されている FeedIdConverter オブジェクト。

  • アプリケーションに実装されている FeedItemConverter オブジェクト。

  • 変換済みのフィード項目の適用先となるレプリカを表す KnowledgeSyncProvider オブジェクト。

次に、ConsumeFeed を呼び出し、使用対象となる RSS フィードまたは Atom フィードを含んだ Stream オブジェクトを渡します。処理が完了した時点で、レプリカには、このフィードからの使用済み項目が格納されます。

アンマネージ コードによるフィードの使用

フィードを使用するには、まず、CLSID_FeedSyncServices および IID_IFeedProducerConsumerServicesCoCreateInstance 関数に渡すことによって、IProducerConsumerServices のインスタンスを作成します。次に、IFeedProducerConsumerServices::CreateFeedConsumer を使用して、IFeedConsumer オブジェクトを作成します。

フィードを使用するには、IFeedConsumer::ConsumeFeed を呼び出し、次のオブジェクトを渡します。

  • アプリケーションに実装されている IFeedIdConverter オブジェクト。

  • アプリケーションに実装されている IFeedItemConverter オブジェクト。

  • 変換済みのフィード項目の適用先となるレプリカを表す ISyncProvider オブジェクト。

  • 使用対象の RSS フィードまたは Atom フィードを含む IStream オブジェクト。

処理が完了した時点で、レプリカには、IStream オブジェクトに含まれたフィードからの使用済み項目が格納されます。

参照

リファレンス

IFeedProducerConsumerServices インターフェイス
IFeedConsumer インターフェイス
Microsoft.Synchronization.FeedSync
FeedConsumer

概念

Sync Services for FeedSync のコンポーネント

その他のリソース

RSS フィードと Atom フィードの同期