« BlogWrite対応サービス追加 | メイン | BlogWrite Free頂いたご意見(感謝) »
2004年06月24日
livedoor blogの Atom API
blog.livedoor.com Atom API Specによると、XML::Atom::Client: 日本語は UTF-8 bytes で入れると、base64 エンコードされる。 # UTF-8 文字列でいれるとサーバエラーになる>調査中
既知の問題: dc:subject にマルチバイト文字列で syswrite エラー
ってーゆーと...もしかして使えない...?
XML::Atomと言えば、MovableTypeやTypePadを作ったBenさんが(主に?)作って、Miyagawaさんとかパッチかましてる奴だから、MTやココログでも同じなのかも...
そういえば、MTのXML-RPCでエラー文字列に日本語文字列混じると日本語復帰できないBase64エンコードの文字列が返ってくる
気持ちの悪い仕様と同じだ。
ココは一つ大和魂こめて頑張ってください>中の人。解決お疲れ様でした。
Base64の方は当方の誤解だった模様。
AtomAPI対応はもうしばらくおあずけです。対応しても使えないのじゃ意味ありませんから...着手して見ます。
しかし、どこまでも付いて回るマルチバイトの罠。
Atom APIを使うと、カテゴリの取得、設定が曖昧(出来ないというかなんというか...)なのは分かります。 なんといってもまだ標準化されていませんから。ましてや独自実装でAPIの乱立はやはり避けたいし。
投稿者 BlogWrite担当 : 2004年06月24日 14:18
トラックバック
このエントリーのトラックバックURL:
http://www.witha.jp/b/mt-tb-hate-spam.cgi/77
このリストは、次のエントリーを参照しています: livedoor blogの Atom API:
» XML::Atom UTF-8 patch from blog.bulknews.net
XML::Atom 0.08 で、 dc:subject などにマルチバイト文字列 (UTF-8) を記述すると 500: Malformed characters in syswrite ... なエラーが発生する件のパッチ。 500 とかでているのでサーバ側で発生している例外かとおもいきや、クライアント側だった。しかも POST リクエ... [続きを読む]
トラックバック時刻: 2004年06月24日 16:44
コメント
> XML::Atom::Client: 日本語は UTF-8 bytes で入れると、base64 エンコードされる。 # UTF-8 文字列でいれるとサーバエラーになる>調査中
こちらは単純にAPIというかPerlモジュールクライアント側の問題(というか仕様)なので不具合ではありません。普通に UTF-8 あるいは Base64 で送れば使えます。
> 既知の問題: dc:subject にマルチバイト文字列で syswrite エラー
これはいまのところ原因不明な問題で、サーバ側のどこかでライブラリのエラーがでているようで、調査中です。
投稿者 miyagawa : 2004年06月24日 14:37
うわぁ、miyagawa さんだ!(ミーハー)
なるほど、普通にUTF-8で送るとXML::Atom::Client
がBase64でエンコードする、という事なのでしょうか。
dc:subjectは使わないようにして見ます。
元々Atom APIには無いものですし。
やる気が出てきました。
わざわざすみません。お騒がせしました。
投稿者 HepCat担当 : 2004年06月24日 16:31
ココログでの Atom API による記事の投稿は UTF-8 で特に問題は起きませんでした。
ただし、投稿した記事の取得ができない(サーバ側で perl のエラー発生)という問題があります。
現時点では、Atom API は使わない方がいいと思います。
投稿者 tsupo : 2004年06月24日 16:39
dc:subject マルチバイトの問題も解決しました。結局これも Perl クライアント側の問題でしたので、他の言語から使う場合は普通に UTF-8 あるいは Base64 で送ればよいと思われます。
http://blog.bulknews.net/mt/archives/001056.html
投稿者 miyagawa : 2004年06月24日 16:43
tsupo さん
大変お世話になってます。
確かに問題ありそうですね。
人柱版を作って検証できるようにしてみましょうか...。
テストするにもクライアントの種類は多い方が良い
かもしれませんし。
なんにしても、クライアントだけでなく、AtomAPIのサーバー実装も
TypePad系(+MT3)とLivedoor系の二つ出来てバグの
切り分けが楽になりそうです。
投稿者 HepCat担当 : 2004年06月24日 17:04
miyagawaさん
大変お世話になってます(なってばっかー>Bulkfeeds)。
素晴らしいです。お疲れ様でした。
バグつぶし(もしあったら)に少しは貢献したいと思います。
投稿者 HepCat担当 : 2004年06月24日 17:09

