BWS: getunread

Bloglines Web ServicesのPerlでの実装はそこかしこで取り上げられると思う(既にmiyagawaさんがWebService::Bloglinesというモノを作っていたり)ので、WSH + MSXMLでやってみようかと。てなわけで未読の一覧をHTMLにして標準出力テキスト・ファイルに吐くJScript、getunread.jsを作ってみました。テストも兼ねてなので、スクリプトを実行しても未読は維持されます。

使い方は、

C:> cscript getunread.js //Nologo > unread.html
cscript getunread.js

てな感じ(wscriptでは動きません)。//Nologoオプションを付けないと変なのが頭に出力されます(標準エラー出力に吐けよ)。実行すると、ごく簡単な処理状況が標準出力に出力され、UTF-16LE(BOM付き)なテキスト・ファイルが指定のパスに出力されます。

BWSが返すXMLは、微妙におかしなXMLだったりするみたいですね。RSSのlanguage要素の値がen-us固定だったり、マルチバイトが欠けたり、文字(数値)実体参照にきちんと変換されてなかったり。パース・エラーになってしまうのはどうにかして欲しいな。

てか、フォルダのoutline要素にもBloglinesSubId属性が付いていたので、フォルダごとに一気に未読記事を取得できたりしそうと思ったけど無理だった。

個人的にはrelatedfeedsとかcitationsとかのAPIも実装して欲しいな。

追記@2004/09/30

標準出力だとShift_JISに変換される時に一部欠落したりしてしまうので、UTF-16LE(BOM付き)なテキスト・ファイルに出力するように更新しました。ついでにRFC-822な日付けをJSTのW3CDTFな日付けに無理やり変換もしてみる。