未踏の開発の現実逃避(?)がわりに、トラックバックを実装してみました。個人的に驚いたのは、トラックバック自体は仕様が小さくて実装にそれほど手間がかからなかったことでしょうか。こりゃ広まるわけだ。
■ 参考
トラックバック技術仕様書
http://lowlife.jp/yasusii/stories/8.html
■ 概要
トラックバックを実装したといっても、トラックバック ping を受信する機能を実装しただけです。トラックバックの受信は簡単で、以下の問い合わせ文字列を持った HTTP POST リクエストを受け取れる URL を準備すれば良いだけです。
・ title(記事のタイトル)
・ excerpt(記事の要約)
・ url(記事の URL)
・ blog_name(ブログ名)
Movable Type では、url だけの ping を受け取れるようですが、一応このブログでは上記をすべて必須として実装しています。というか、上記くらいの情報がないとトラックバックの情報を Web に埋め込みにくいからです。
成功すると以下のレスポンスを返しますが、はてなダイアリーなどを試した限りでは、このレスポンスは無視しているかもしれません。エラーのレスポンスを返しても、何も反応がなかったので。
○ 正常なレスポンス
<?xml version="1.0" encoding="iso-8859-1"?>
<response>
<error>0</error>
</response>
○ エラーのレスポンス
<?xml version="1.0" encoding="iso-8859-1"?>
<response>
<error>1</error>
<message>The error message</message>
</response>
Movable Type には、RSS でトラックバック URL を配信したり、記事に RDF を埋め込んで、トラックバック URL を自動検出させたりすることができるようですが、当面はそうした機能は必要性を感じないので、実装しないことにします。
■ 感想
実装は簡単でしたが、コードはあちこちいじらないといけなかったので、疲れました。もっと変更しやすいように書いておけばよかった・・・。orz