livedoor Blog で Atom API を使ってみました

観測気球

収集物の記録書庫 a data archive of collection -- collectible toys

[要旨] ほとんど問題はありませんが、いくつか気になることがあります。
[キーワード] Atom API

« 謎の XML-RPC API、mt.setNextScheduledPost | トップページ | もう何度目かわからない延期 »

2004.07.15

livedoor Blog で Atom API を使ってみました

気付いたことをまとめてみます。

全般

一度、入力ミスしたパスワードを元に生成した WSSE を使って login に失敗してしまうと、一定時間(90秒?)が経つまで、 正しい WSSE を送っても Invalid Login が返り続けます。
(一方、同じような操作を行なっても、ココログは、すぐに login できます。セキュリティ上は livedoor Blog の振る舞いの方がいいと思いますが、 一方、直後に正しい WSSE を送った場合は直ちに受け入れてくれてもいいのではないかとも思います。)
[追記(2004年7月16日): miyagawaさんのコメントによると、 そんなことはしていないとのこと。Nonce の生存時間絡みの問題が起きているのでしょうか?]

Listing the User's Weblogs (blog 一覧の取得)

特に問題なし。

Listing the Posts in a Weblog (最新記事群の取得)

この API 自体は問題ないと思います。
が、“Posting an entry”で数値参照の塊に変換されて登録された記事(後述)は、本APIでも数値参照の塊のまま、返ってきます。

Retrieving a list of categories (カテゴリ一覧の取得)

特に問題なし。

Retrieving a Post (指定記事の取得)

この API 自体は問題ないと思います。
が、“Listing the Posts in a Weblog”と同様に、 “Posting an entry”で数値参照の塊に変換されて登録された記事(後述)は、本APIでも数値参照の塊のまま、返ってきます。

Deleting a Post (記事の削除)

削除自体は成功しますが、以下のエラーが返ってきます。

<error>Died at /usr/local/perl5.8/lib/site_perl/5.8.4/XML/Atom/Server.pm line 63.</error>

[追記(2004年7月16日): 修正されていることを確認。16日13時30分現在、エラーは出ていません]

Posting an entry (記事の投稿)

ときどき、記事全体(のうち ASCII 文字を除く全ての文字)が数値参照に変換されてしまうことがある現象を除き、 問題は発見していません。(全く同じ内容の記事を投稿しても、変換が発生するときとしないときがあります。)
いったん、数値参照に変換された記事は、“Listing the Posts in a Weblog”や“Retrieving a Post”で取得したときも、 変換されたままの状態で返ってきます。なお、当該記事を Web ブラウザで閲覧した場合に、特に不都合は発生していません。)

[追記(2004年7月16日): 本日投稿を行なった分については、今のところ、上記現象は発生していません]


ということで、概ね良好です。まだ、一度投稿した記事を編集して上書き投稿するテストはやっていませんが、 たぶん、問題なくいけるのではないかと思われます。

関連記事: AtomAPI に対応しましたlivedoor Blog が AtomAPI 対応

投稿者: tsupo 2004.07.15 午後 07:22 | 固定リンク | このエントリーをはてなブックマークに追加 | このエントリを del.icio.us に登録 このエントリの del.icio.us での登録状況 | このエントリを Buzzurl に追加このエントリの Buzzurl での登録状況 | このエントリをlivedoorクリップに登録 このエントリのlivedoorクリップでの登録状況 このエントリをlivedoorクリップに登録している人の数 | 酢鶏巡回中

楽天市場


Blogクライアント」カテゴリ内の最近の記事

ウェブログ・ココログ関連」カテゴリ内の最近の記事

プログラミング」カテゴリ内の最近の記事

品揃え豊富で安い!NTT-X Store


アマゾンわくわく探検隊

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/6737/973894

この記事へのトラックバック一覧です: livedoor Blog で Atom API を使ってみました:

コメント


WSSE の件、そのようなチェックはいれていませんが。。手元で以下のようなスクリプトをパスワードを変更しながら何度かやっていますが、一度失敗して90秒云々かんぬん、という制限はありません。

% perl -MXML::Atom::Client -e '$api=XML::Atom::Client->new;$api->username("bulknews");$api->password("XXXXXXXX"); $api->getFeed("http://blog.livedoor.com/atom") or die $api->errstr'

投稿者: miyagawa (2004.07.15 午後 07:30)


昨日間違えて(というか修正したらそうなっちゃったのですが)同じ記事へ2個トラックバックしちゃったのですが)同じ

投稿者: 酢鶏 (2004.07.16 午後 08:02)


今頃になってやっとわかりました。
ヘッダに
Cache-Control: no-cache
を付加しないといけなかったんですね。これを付加しないと、「一度、入力ミスしたパスワードを元に生成した WSSE を使って login に失敗してしまうと、一定時間(90秒?)が経つまで、正しい WSSE を送っても Invalid Login が返り続けます。」という現象が発生します。付加するようにしたら、あっさり発生しなくなりました。

それはともかくとして、また最近、livedoor Blog の Atom API の仕様が微妙に変わったようです。投稿には成功してるからいいんですが、
Invalid combo of method and parameter
というエラーが出るようになってしまいました。将来の拡張を見込んで余分なパラメータを付けてるのが仇になってるようです。現時点でそんなことするのは時期尚早ってことなんですね、たぶん。ついこの間まで、エラー出なかったのに。

投稿者: tsupo (2004.10.05 午後 01:34)


> Invalid combo of method and parameter
この件は原因がわかりました。

> 201 Created
> Content-Type: application/x.atom+xml
> Location: http://blog.livedoor.com/atom/blog_id=XXXX/entry_id=XXXX

上記の Location で示される URL に飛ぼうとしているのが原因でした。302 Moved Temporarily のときだけ飛ぶようにしたつもりが、つまらない TYPO で Location: があるときは無条件に飛んでました。当方のバグです。

ということで、将来を見越して余分なのを付けておく、というのは問題ないようです(単に無視されるだけ)。

投稿者: tsupo (2004.10.05 午後 03:06)

コメントを書く




※イタズラ防止のため、メールアドレスを入力しないと投稿できません。

次からのコメント入力の手間を省くために、名前やメールアドレスをcookieに記憶しますか?


URL を入力すると、その URL にリンクがはられます。
なお、メールアドレスは公開されません。ご安心ください。


ワード

ニッセン

fujisan.co.jp

楽天市場