読み取った価格を指値に代入する方法(初心者)
Rubyでビットフライヤーのbotを作っているのですが、うまくいきません。
その時にうまく代入できてなくらしくてエラーになります。
宜しくお願い致します。
発生している問題・エラーメッセージ
{"status":-122,"error_message":"Empty request body","data":null}
該当のソースコード
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("https://api.bitflyer.jp")
uri.path = '/v1/ticker'
uri.query = 'product_code=FX_BTC_JPY'
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
response = https.get uri.request_uri
**
#tickerのbest_bidを読み込み**
json = Net::HTTP.get(uri)
ticker = JSON.parse(json)
best_bid = ticker["best_bid"]
#注文コード指値 priceの部分にbest_bidの値を代入
require "net/http"
require "uri"
require "openssl"
key = ほげほげ secret = ほげほげ timestamp = Time.now.to_i.to_s method = "POST" uri = URI.parse("https://api.bitflyer.jp") uri.path = "/v1/me/sendchildorder" body = '{
"product_code": "FX_BTC_JPY",
"child_order_type": "LIMIT",
"side": "BUY",
"price": best_bid,
"size": 0.001,
"minute_to_expire": 10000,
"time_in_force": "GTC"
}'
text = timestamp + method + uri.request_uri + body sign = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha256"), secret, text) options = Net::HTTP::Post.new(uri.request_uri, initheader = { "ACCESS-KEY" => key, "ACCESS-TIMESTAMP" => timestamp, "ACCESS-SIGN" => sign, "Content-Type" => "application/json" }); options.body = body https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true response = https.request(options)
puts response.body
あなたの回答
tips
プレビュー