HTTP クライアントライブラリのgem「faraday」を使用したので、メモ。
例えばAPIで取得する際に、gemを使用しないと
url = URI("https://api.coingecko.com/api/v3/coins/bitcoin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
上記くらいコードが必要だが、faradayを使用すると
res = Faraday.get("https://api.coingecko.com/api/v3/coins/bitcoin")
puts res
上記で取得できる
初期設定
まずはGemfileに追加して、bundle install
gem 'faraday'
パラメータ指定
response = Faraday.get("https://api.coingecko.com/api/v3/coins/bitcoin/history", date: "08-09-2017")
body = JSON.parse(response.body)
コネクション
connect = Faraday.new("https://api.coingecko.com")
response = connect.get do |req|
req.url '/api/v3/coins/bitcoin'
req.params[:date] = "08-09-2017"
req.params[:tickers] = :true
end
body = JSON.parse(response.body)
リクエストヘッダ
connection = Faraday.new("https://rest.coinapi.io")
response = connection.get "/v1/exchangerate/BTC/USD" do |request|
request.headers["X-CoinAPI-Key"] = "API Key"
end
他にもいろいろ試してみようと思います〜
参考
以上です。
いいねやQiitaやTwitterのフォローいただけると励みになります!
他にも方法がありましたら、コメントお待ちしております。
宜しくお願いします〜