とりあえず、So-netに対応するかどうか検討するために

アカウントを取ってみたけど

ログイン用のアカウント、パスワードとは別に、Atom API 投稿用のユーザ名、パスワードがあるんですね。そして、Atom API 投稿用のパスワードは So-net が自動発行したものを使うことになります(自分で好きなパスワードを指定することはできません)。

Atom API 自身はすでに「ここうさぎ」で対応しているので、So-net特有の部分に対応するだけで、OKっぽい。

試しにblog一覧取得と最近の記事取得をやってみたけど

So-net特有」なところがありますね、特に「最近の記事取得」の方。
基本的に、Blogger.com の API に合わせてるんだけど、微妙に違う。
BASIC認証 + SSL じゃなくて WSSE を使っているという違いは誰が見ても一目瞭然なんだけど、そういうところじゃなくて、返ってくる XML ドキュメントの中身の違い。

あと、Blogger.com 同様、So-net では、カテゴリの取得、設定は Atom API ではできないようです。

ということで、WSSE を使うところは TypePadlivedoor Blog と同じなんだけど、それ以外のところは Blogger.com と(ほぼ)同じ。あと、記事と画像が別のエンドポイント URL なのは、So-net 独自(というか、「はてなFOTOLIFE」を意識してる?)。

記事IDを指定して特定の記事を取得するAPIがない!!

これは痛い。仕方がないので、最新記事から順に20件づつ記事を一括取得して、記事IDと一致する記事を見つける、というやり方で対応。

投稿した記事のカテゴリ

「デフォルトのマイカテゴリー設定」で指定したカテゴリになる模様。

投稿記事中で使える html

かなり制限があるみたい。無難に使おうとすると、html タグを一切含まないプレーンテキストのみで記事本文を構成して投稿することになりそう。いまいち。

さらに

記事の先頭に <p class="auto">、末尾に <br style="clear:both"></p> が自動的に付加されるので、それを考慮した html を生成して、投稿(送信)する必要がある。余分なものを勝手につけないで欲しいな。

というか、そもそも So-net blogAtom API を使わずに、手動投稿したときも、余分に付きますね。はっきり言って XHTML 1.0 Transitional 的におかしいし。なんだかなぁ。

手動投稿の場合、

<p><p class="auto">
ほげほげ</p>
<br style="clear:both"></p>

なんて具合になるんだけど、これは、せめて

<p class="auto">
ほげほげ
<br style="clear:both" /></p>

のようにして欲しい。