« 謎の 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
| 固定リンク
|
|
| ![]()
|
|
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
この記事へのトラックバック一覧です: 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)



