楽天Webサービス
リンク
「楽天ウェブサービスセンター」
http://webservice.rakuten.co.jp/
サンプルページ
http://sakura-computer.co.jp/webservice/rakuten/ra...
ソースコード
#!D:/ruby/bin/ruby.exe -Ku # # $Id$ # 楽天 WEBサービスAPIサンプル # 楽天商品検索API # Auther:Yasuo Tabira(ytabira at gmail.com) require 'cgi' require 'erb' require 'open-uri' require 'pp' require 'rexml/document' REQUEST_URL = 'http://api.rakuten.co.jp/rws/1.9/rest' DEVELOPER_ID = 'hoge' class Hash def to_query() query = [] self.each do |key,value| query << "#{key}=#{ERB::Util.u(value.to_s)}" end query.join("&") end end begin cgi = CGI.new query = cgi.params query['developerId'] = DEVELOPER_ID query['operation'] = 'ItemSearch' query['version'] = '2007-10-25' uri = "#{REQUEST_URL}?#{query.to_query}" result = nil open(uri) do |f| obj = REXML::Document.new(f.read) result = obj.root end script = <<-"EOF" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>楽天ウェブサービス 商品検索API サンプル</title> </head> <body> 楽天商品検索 <form action="" method="get"> キーワード:<input type="Text" name="keyword" value="#{query['keyword']}"> <input type="submit"> </form> <%- if result.elements['Message'] -%> <font color="red">エラー:<%= result.elements['Message'] %></font> <%- else -%> <table border=1> <tr bgcolor="#cccccc"> <th>名前</th><th>商品価格</th> </tr> <%- result.elements.each('Body/itemSearch:ItemSearch/Items/Item') do |item| -%> <tr> <th><%= item.elements['itemName'].text %></th> <th><%= item.elements['itemPrice'].text %></th> </tr> <%- end -%> </table> <%- end -%> <div style="margin:10pt 0"> <pre><%= uri %></pre> </div> </html> EOF e = ERB.new(script, nil, '-') print cgi.header e.run(binding) rescue => ex print cgi.header puts ex.message print ex.backtrace.inspect end
2008年03月02日(日) 05:45:18 Modified by y_tabira