torum

主に開発中のアプリにまつわる技術系の事。

ライブドアブログのAtom Publishing Protocolについて

以前、(だいぶ前ですが)はてなブログにおけるAtomプロトコル実装に関わる問題について記事を書いたのですが、今回はライブドアブログでの問題についてメモ代わりに書いておきたいと思います。

ライブドアブログでのAtomプロトコルのドキュメントは、下記にあるのですが・・・

help.blogpark.jp

 今回は、そこに辿り着く以前の問題でした。Livedoorでは、通常のRSSAtomフィードを配信しているのですが、そのAtomフィードの形式が間違っていて、エントリが読めない、という・・・・

サクッと、Atomフィードのソースを見てみたら、一行目から懐かしい名前空間が・・・

<feed xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="0.3" xml:lang="ja">
<title>テスト</title>

これ、旧AtomAPI当時の名前空間ですねw

IETFで標準化されたAtomは、こっち。

 XMLパーサーは、名前空間でタグを読み分けますから、標準化されたAtom形式にも関わらず、別の名前空間なので、エラーになったり、何もデータが無いと判断してしまいます。

これを、W3Cのフィードチェック(Validator)に掛けると、

W3C Feed Validation Service, for Atom and RSS

やはり、エラーの結果となりました。

「This feed does not validate. ... This feed uses an obsolete namespace」

 

これ、恐らくライブドアブログでは旧AtomAPIを互換性の為に残している関係で、Atomフィードも古い形式のままなのかもしれないですね。フィード(RSS)リーダーで読む際にも最近のフィードリーダーでは旧Atom切り捨ててる場合もあるだろうから、問題になるでしょう(RSS形式も同時に選べるようになっているので、大抵はなんとかなるでしょうけれども)し、Atom Publishing Protocolとの関係だと、ごっちゃになって、面倒くさすぎなだなぁ。もうそろそろ、旧Atomはサポートから外せばよいのに。

しかし、困ったものですね・・・。一応、ライブドアブログの運営さんには問い合わせフォームから連絡しておきました。

 

(因みに、自分が開発したアプリケーションは⇓)

f:id:torum:20210614035440p:plain

BlogWrite