トラックバック機能をRubyで実装(送信編)

トラックバックの送信機能の実装が大体できました。前回調べた情報を元に、Net::HTTPでpostします。このあたりはamazonのwebサービスを利用する時少し勉強したのですんなりできました。

require 'net/http'
include URI
query = "title=タイトル&url=http://myblog/text/001&blog_name=マイブログ&excerpt=トラバさせてね。"
Net::HTTP.start('送信先host') { | http |
  response,body = http.post('送信先path',URI.encode("query=#{query}"),
    {'Content-Type'=>'application/x-www-form-urlencoded'})
}

後は、必要な情報を画面から入力させるようにすれば送信機能は完成です。試しに某gooのブログ記事に送信してみました(何を隠そう初体験です)。

p result
#<Net::HTTPOK 200 OK readbody=true>
p body
<?xml version=\"1.0\"encoding=\"UTF-8\"?>
  <response>
    <error>0</error>
  </response>

でどうやら正常に受け付けられたようです。早速、blog記事をみてみるとちゃんとトラバを受け付けてくれていました。ただ、実際のリンクをクリックしてみたら、

Unknown (マイブログ)
トラバさせてね。

となっていて、実際のリンクの部分はUnknownになっていました。てっきりtitleパラメータがリンク文字列になると思っていたのに違うようです。これはgooの仕様なのか他にもパラメータがあるのかまだ調べてはいません。

この記事のトラックバックURL:

http://hippos-lab.com/blog/trackback/55
ぐだろぐ から 土, 2007/12/22 - 15:08 受信

続いてトラックバックの送信を実装してみる。送信にはhttp.rbを使用するんだけど、http.rbがjstringと相性が悪いようで嵌った嵌った。詳しくはこちら
なんとなくそれなりに動くようなので...

Comments


Apple Store(Japan)