edo1z blog

プログラミングなどに関するブログです

トラックバック

トラックバックの仕組みがわかってない。

トラックバック 【 trackback 】

トラックバックはリンク元サイトに「このような記事からリンクを張った」という情報を通知する仕組みで、リンク元記事のURLやタイトル、内容の要約などが送信される。トラックバックされたサイトはこの情報を元に「この記事を参照している記事一覧」を自動的に生成することができる。 相手に送信されるトラックバック通知のことを「トラックバック・ピング」(trackback ping)と呼び、通知の送信先を「トラックバックURL」(trackback URL)という。多くのウェブログの記事には隅に「この記事へのトラックバックURL」が記載されている。

トラックバック

トラックバックに使用されるプロトコルは、RESTアーキテクチャを採用している。また送信にはHTTPのPostメソッドが、返信にはXMLメッセージが使用される。

トラックバック技術仕様書 ここに詳しく書いてある。

トラックバックの送信は、すごく単純で、title、excerpt、url、blog_nameをトラックバックURLにPOSTで送ればいいだけらしい。自分のブログに送ってみたら出来てた。

function send_trackback($Model, $ping_url, $title, $excerpt, $url, $blog_name) {
    if(empty($ping_url)) return false;

    $HttpSocket = new HttpSocket();
    try{
        $HttpSocket->post($ping_url, array(
            'url' => $url,
            'title' => $title,
            'excerpt' => $excerpt,
            'blog_name' => $blog_name
        ));
    }catch(Exception $e){
        $this->log($e->getMessage());
    }
}

エラーチェックとかしてないけど。下記のようなものが返ってきた。これはエラーがない状態。1だとエラーらしい。

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>0</error>
</response>