物欲購入目録日誌 写真館
スポンサーサイト
--.--.-- (--:--) スポンサー広告
Twitterでつぶやく
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
為替情報 API をrubyで取得
2011.04.01 (23:34) 余談trackback(0)comment(0)
Twitterでつぶやく
為替1


ちょっと実家の父親が為替情報を知りたいのでiPadを渡しているんですが、いまひとつマニアックな為替情報を取得するのが難しいとのことだったので、ネット上から情報を取得して自動的にメールで送付するような仕組みをつくろうと思ったのですが、、

為替情報を簡単に取得できるAPIがほとんど提供されていないというか、、あっても動かなかったりしたのですが、とりあえず簡単に利用できるものがあったのでご紹介。

Exchange Rate API
http://www.exchangerate-api.com/

このAPIはメールアドレスを入力するとAPI_KEYが送付されてくるのでそれを利用すると非常に簡単に為替情報が取得できます!

サンプルコードは以下のような感じ


#! /usr/bin/ruby
#
# [exchange_rate ]
#
# 概要: www.exchangerate-api.com のAPIを用いて為替変換する
# URL: http://www.exchangerate-api.com/ruby
#
require 'net/http'

#
# exchange_rate
#
# 引数:変換元為替,変換後為替
# 返値:為替
#
def exchange_rate(from_curr,to_curr)
# API_KEY
api_key = '☆ここに取得したAPI_KEYを入れる'
# リトライ回数
num_retry = 5
count = 0

# 接続先ホスト
host = "www.exchangerate-api.com"
http = Net::HTTP.new(host, 80)
# 単位
amount = 1
# 問い合わせURLを作成
url = "/"+from_curr.to_s+"/"+to_curr.to_s+"/"+amount.to_s+"?k=#{api_key}"

# 例外処理
begin
response = http.get(url)
# 正常終了
return response.body
rescue
# リトライ回数をインクリメント
count += 1
if count <= num_retry
retry
else
# リトライ上限に達したらnilを返却
return nil
end
end
end # exchange rate


# main 関数
if __FILE__ == $0
#メインプログラム
# USドル -> 円
puts exchange_rate('usd','jpy')
# オーストラリアドル -> 円
puts exchange_rate('aud','jpy')
# ブラジル(レアル) -> 円
puts exchange_rate('brl','jpy')
end


[実行結果]
84.078200
87.067000
51.790600

となり、めちゃくちゃ簡単!こんな簡単なことなんだけど、、丁度よいAPIがほとんど提供されていなくて探すにに苦労しました、とりあえずかなり便利です。

公式HPをみるともっといろんなAPIが提供されているので...
prevhome next












トラックバックURL
→http://tachiphoto.blog61.fc2.com/tb.php/1326-58dba0eb
home
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。