towardの日記 RSSフィード

2005-12-22 (Thursday)

[]Ruby XMLRPC はてなブックマーク件数取得API

Ruby XMLRPC4R(標準添付ライブラリ)を使用したはてなブックマーク件数取得APIのサンプル

XMLRPC::Client#call - 例外が発生するバージョン

#!/usr/local/bin/ruby -w
require 'xmlrpc/client'

end_point = 'http://b.hatena.ne.jp/xmlrpc'

urls = [
  'http://www.rubyonrails.org/',
  'http://www.rubyonrails.com/',
  'http://rubyonrails.org/',
  'http://rubyonrails.com/']

client = XMLRPC::Client.new2(end_point)
begin
  result = client.call('bookmark.getCount', *urls)

  result.each do |url, count|
    puts "#{url} : #{count}"
  end
rescue XMLRPC::FaultException => e
  puts "Error: #{e.faultCode}: #{e.faultString}"
end

実行結果

http://rubyonrails.org/ : 3
http://www.rubyonrails.org/ : 87
http://rubyonrails.com/ : 1
http://www.rubyonrails.com/ : 45

XMLRPC::Client#call2 - 例外が発生しないバージョン

client = XMLRPC::Client.new2(end_point)
ok, result = client.call2('bookmark.getCount', *urls)

if ok
  result.each do |url, count|
    puts "#{url} : #{count}"
  end
else
  puts "Error: #{result.faultCode}: #{result.faultString}"
end

XMLRPC::Client#proxy - 例外が発生するバージョン

client = XMLRPC::Client.new2(end_point)
bookmark = client.proxy('bookmark')
begin
  result = bookmark.getCount(*urls)

  result.each do |url, count|
    puts "#{url} : #{count}"
  end
rescue XMLRPC::FaultException => e
  puts "Error: #{e.faultCode}: #{e.faultString}"
end

XMLRPC::Client#proxy2 - 例外が発生しないバージョン

client = XMLRPC::Client.new2(end_point)
bookmark = client.proxy2('bookmark')
ok, result = bookmark.getCount(*urls)

if ok
  result.each do |url, count|
    puts "#{url} : #{count}"
  end
else
  puts "Error: #{result.faultCode}: #{result.faultString}"
end

参考

Rubyist Magazine - 標準添付ライブラリ紹介 【第 1 回】 XMLRPC4R

ruby-doc.org - Standard Library API - XMLRPC for Ruby

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/toward/20051222/ruby_xmlrpc_client_hatena_bookmark_count