R HMAC-SHA512签约

时间:2017-06-27 21:37:21

标签: r hmac rcurl

我目前正在尝试使用HMAC-SHA512签名在网站上进行身份验证,以便通过网站api请求一些个人详细信息。

网站为用户显示一些代码(但不在r!中):

$apikey='xxx';
$apisecret='xxx';
$nonce=time();
$uri='https://bittrex.com/api/v1.1/market/getopenorders?apikey='.$apikey.'&nonce='.$nonce;
$sign=hash_hmac('sha512',$uri,$apisecret);
$ch = curl_init($uri);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('apisign:'.$sign));
$execResult = curl_exec($ch);
$obj = json_decode($execResult);

我试图在r:

中重现代码
require("curl")
require("digest")
require(jsonlite)
require(httr)
require("RCurl")

第一步似乎很容易:

apikey = "2...XXX...3"
apisecret = "7...XXX...c"

第一个问题:我不知道如何输入时间,我假设Sys.time()不适合这里,也不是as.numeric(Sys.time()),因为它不是一个整数(也许我是已经错了......)

nonce = floor(as.numeric(Sys.time()))

然后:

uri = paste0('https://bittrex.com/api/v1.1/market/getopenorders?`apikey=',apikey,'&nonce=',nonce)`
sign = hmac(apisecret,uri,"sha512")

对于最后两个步骤,我尝试过:

ch = binaryBuffer(uri)
curlSetOpt(ch, .forceHeaderNames = TRUE, sign)
execResult = GET(ch)

并收到以下错误消息:

Error in as.character.default(url) : 
  no method for coercing this S4 class to a vector

有没有人注意到我的代码出了什么问题?任何评论/问题/建议都将受到高度赞赏!

1 个答案:

答案 0 :(得分:0)

以下为我工作

sudo update-alternatives --config java