.NET: IE7 の RSS API を使うには

IE7 では RSS API が追加されていて、他のアプリケーションからも利用することができる。
ダウンロードとか未読管理なんかも一体になっている。性質としては、「IE7 が管理している RSS フィードの情報を取得・変更したり、更新処理をキックするための API」という感じだろうか。逆に、単なる RSS パーサとして使うことはできないようだ。
この辺は、これまでの "IE コンポーネント" に似ている。IE コンポーネントは一見「IE で使われているレンダリングコンポーネント」に見えるが、実質的には IE を OLE 埋め込みしてるのとあまりかわらない。そのため、インターネットオプションでの設定内容は IE 単体でも IE コンポーネントを使っているブラウザでも共通して使用される。


Visual C# 2005 の場合、以下の手順で、COM Interop での利用が可能だ。

  1. メニューから [プロジェクト]→[参照の追加] を選ぶ。
  2. [COM] タブで、"Microsoft feeds, version 1.0" を選び、[OK] を押す。
  3. コードに "using Microsoft.Feeds.Interop;" を追加する。
  4. 名前空間 Microsoft.Feeds.Interop のクラスやインタフェースを使ってコードを書く。

例えば、フォーム上のボタンを押すと、購読しているフィードのタイトルをリストボックスに表示する場合はこんな感じ。

private void button1_Click(object sender, EventArgs e)
{
    IFeedsManager fm = new FeedsManager();
    IFeedFolder f = (IFeedFolder)fm.RootFolder;
    foreach (IFeed feed in (IFeedsEnum)f.Feeds)
    {
        this.listBox1.Items.Add(feed.Title);
    }
}

詳しいドキュメントは MSDN を参照。

Windows RSS Platform
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/FeedsAPI/rss/rss_entry.asp

また、Ruby での利用例が以下の日記にあった。

未以白紙 - Windows RSS Platform を使ってみる
http://d.hatena.ne.jp/akasa_t/20060419/p1