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

« RESTなWebAPIの開発支援ツール | メイン | Atomベースの Google Calendar Data API公開 »

2006年03月27日

Re: MT 3.2のAtom API

[ Atom/BlogWrite ]

トラックバック頂きまして、MT3.2でのAtomAPIがBlogWriteで正しく動いていないという事気が付きました。MT3.17では、問題ありながらもとりあえず動いていはいたんですが...。

結論から言うと、MTでの利用に限って現時点では今まで通りXML-RPC APIを使って頂きたい、という所です。(過去の経験からTypePad含むMTのAtomAPIは日本語周りとか色々問題があったため)

けれども、MTでAtomAPIが動くに越したことはないので、Ogawaさんの方法で、MTのAtomServer.pmの一行をコメントアウトして、動作検証して見た所、Ogawaさんのご指摘どおり、過去記事の取得を除けば、日本語周りも含めて動くようになりました。

で、なぜ過去記事の件が取得は出来ていながらBlogWriteで上手く行かないのか、という事ですが、

例1: 
<content mode="xml">
   <div xmlns="http://www.w3.org/1999/xhtml">asdfasdfasdf</div>
 </content>

コンテンツのmodeがXMLとなっているのですが、コンテンツのTypeが指定されてないため、デフォルトのtext/plain扱いになります。で実際はDIVで括ったXHTMLなので、Text扱いすればよいのかXHTML扱いすればよいのか分からず正しく編集出来ません。なので下のように、XHTMLなら、"application/xhtml+xml"のように指定するのが吉。
 
<content mode="xml" type="application/xhtml+xml">
   <div xmlns="http://www.w3.org/1999/xhtml">asdfasdfasdf</div>
 </content>

例2:
<issued>2006-03-06T13:41:18+0900</issued>

日付変換処理で落ちまくっている、と思ったら、MTが返す日付が上記のように、タイムゾーンオフセットが、+0900になっていました。RFC3339の仕様、詳しく読んでいないけれど、普通は、下記のように、コロンが必要なんではないかな、と思います。ここで落ちているため、処理が止まってしまってました。

<issued>2006-03-06T13:41:18+09:00</issued>

あともう一つ。日本語のコンテンツがすべてBase64でエンコーディングされている気がします。確かに仕様ではBase64指定出来るとあるけれど、これは本来バイナリーのアップロードに使うものじゃなかったのかっ?というツッコミも一応。BlogWriteは一応Type属性でtext/htmlとか,plain,xhtmlに指定されてた場合のみ、Base64もデコードしてます。

参考:旧AtomAPI仕様ドラフト

で、一応なんですが、そろそろ、この旧AtomAPIはObsoleteになりつつあります。 ベンダーとしては、今この旧AtomAPIにリソースを割くよりは、現在IETFで議論されている、The Atom Publishing Protocol のサポートに注力すべき頃だと思います。
参考:
The Atom Syndication Format (RFC4287),
The Atom Publishing Protocol (draft-08)

IETFワーキンググループでの現状ですが、今はAtomPPのクライアントとサーバーによるInterop(相互運用性)テストを行なっているフェーズで、この結果を元にさらに、仕様をリファインしていく段階です。もうすぐ仕様は完成か、と言われると、微妙です...。大体出来たけど、まだまだやること残っている、といった所でしょうか。

当然のことながら、BlogWriteでもこのAtom Publishing Protocolをサポートすべく、積極的に動いたり、IETFでのMLとかでも最近はアクティブに参加してます。

投稿者 BlogWrite担当 : 2006年03月27日 14:10

トラックバック

このエントリーのトラックバックURL:
http://www.witha.jp/b/mt-tb-hate-spam.cgi/368

このリストは、次のエントリーを参照しています: Re: MT 3.2のAtom API:

» Re^2: MT 3.2のAtom API from Ogawa::Memoranda
というわけで、BlogWriteの作者さまから非常に丁寧な説明をいただきました。ありがとうございます。 HepCat Dev and Test: Re: MT ... [続きを読む]

トラックバック時刻: 2006年03月27日 18:19

コメント

コメントしてください




保存しますか?