お問い合わせ
会社概要 ソフトウェア 開発ブログ サポート

« BlogWrite対応サービス追加 | メイン | BlogWrite Free頂いたご意見(感謝) »

2004年06月24日

livedoor blogの Atom API

[ Atom/Blog/BlogWrite ]
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

コメントしてください




保存しますか?