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