引き続き私の使用しているBlogEngine.NETにも(バージョン1.5から)一部対応していないことが分かりました。
まあ、BlogEngine.NETの場合は1.4まではあるAPIのパラメータを使用していなかったのが1.5から使用するようになったためなのですが。
(使用するのはいいのですが、仕様通りに実装していただければ問題なかったのですけど…)
で、どこが対応していないかと言うと記事を投稿すると時刻がずれる。
ローカル時刻とUTCの違いです。
確か metaweblog API の仕様ではローカル時刻を使用してサーバー側(ブログ側)が設定されたタイムゾーンを使用して表示をするようになっていたと思うんだけど、そうなっていない。
ちょっと違っていたので訂正。
metaweblog API の仕様ではなく XML-RPC の仕様で
「Don't assume a timezone. It should be specified by the server in its documentation what assumptions it makes about timezones.」
となっている。
要はタイムゾーンはサーバー側で設定して、それを使ってくれってことだと思う。
BlogEngine.NETはそうではなく送られてきた時刻のタイムゾーンを見ようとしている。
まあ、それに合わせて送信すればいいんだけど、厄介なのは記事の取得の時刻の扱いは表示している時刻(=ローカル時刻)になっているので統一されていない。
他のブログはローカル時刻にしろUTCにしろどちらかに統一されていんだけどな。
(WordPressはちょっと違うが別の対処方法が用意されている。)
最終的には送受信ごとにどちらを使用するか設定を設ける必要があるかな…。
BlogEngine.NET, 開発
blog, inblogger
Permalink