我正在尝试使用GDAX访问R,并得到以下问题。如何使用httr解决这个问题。
Response [https://api-public.sandbox.gdax.com/accounts]
Date: 2017-12-07 20:30
Status: 400
Content-Type: application/json; charset=utf-8
Size: 53 B下面是我的密码。请注意,这个问题只存在于httr包中,而不存在于RCurl (代码见附录)。
library(digest)
library(httr)
library(RCurl) # for base64Decode
url <- "https://api-public.sandbox.gdax.com/accounts"
secret <- # API secret from GDAX sandbox
api.key <- # API key from GDAX sandbox
passphrase <- # API passphrase from GDAX sandbox
timestamp <- format(as.numeric(Sys.time()), digits=13) # create nonce
key <- base64Decode(secret, mode="raw") # encode api secret
what <- paste0(timestamp, "GET", req.url)
sign <- base64Encode(hmac(key, what, algo="sha256", raw=TRUE))
connector <- list(url = url, nonce = timestamp, signature = sign))
GET(url=connector$url,
add_headers(
'CB-ACCESS-KEY'=api.key,
'CB-ACCESS-SIGN'=connector$signature,
'CB-ACCESS-TIMESTAMP'=connector$nonce,
'CB-ACCESS-PASSPHRASE'=passphrase,
'Content-Type'='application/json'
)
)但是,如果我使用RCurl,那么我就能够使用下面的代码获得响应内容。
httpheader <- list('CB-ACCESS-KEY'=api.key,
'CB-ACCESS-SIGN'=sign,
'CB-ACCESS-TIMESTAMP'=timestamp,
'CB-ACCESS-PASSPHRASE'=passphrase,
'Content-Type'='application/json')
connector <- list(url = url, header = httpheader)
getURLContent(url = connector$url,
curl=getCurlHandle(useragent="R"),
httpheader=connector$header)发布于 2018-01-22 16:00:21
除非沙箱被恢复使用(我没有任何信息可以说是恢复的),否则它在2017年初就退役了,通讯方式很少,据我所知,到目前为止仍然是这样。我在gdax-java库中记录了这一点。
发布于 2017-12-10 22:33:17
状态代码400意味着您正在发送一个错误的请求。某些东西一定是丢失了或者格式不对。这可能是缺少的用户代理字符串。
对于每个错误响应,您都会得到一条消息,其中详细描述了请求被拒绝的原因。阅读你回复的内容。
https://stackoverflow.com/questions/47704167
复制相似问题