逆向工程PHP脚本到Google Appscript (Javascript)


Reverse engineering PHP script to Google Appscript (Javascript)

我有一个逆向工程php脚本与谷歌电子表格工作的问题。首先,我将向您展示原始php代码,然后展示我的解决方案。在这一点上,我不知道我的代码出了什么问题。


1原始php代码。来源:bittrex.com/Home/Api

$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);

1.逆向工程google appscript代码(纯Javascript)
/* Generate Nonce */
function nonceGen() {
  var d = new Date();
  var timeStamp = d.getTime();
  return timeStamp;
}
/* Encode with standard HMAC-SHA512 */
function signKey(url, secret) {
var signature = Utilities.base64Encode(Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_512, url, secret));
  return signature;
}
function getBalances(apik, apis) {
  /* Set important variables */
  var url = 'https://bittrex.com/api/v1.1/account/getbalances';
  var inputapikey = '?apikey=';
  var inputnonce = '&nonce=';
  var nonce = nonceGen();
  /* Bring it all together */
  var uri = url.concat(inputapikey).concat(apik).concat(inputnonce).concat(nonce);
  /* Sign the message */
  var sign = signKey(uri,apis);
  /* Set apisign as header */
  var headers = { 'apisign' : sign };
  var options = { 'method' : 'get', 'headers' : headers };
  /* Retrieve response and parse the json into the data variable */
  var response = UrlFetchApp.fetch(uri, options);
  var data = JSON.parse(response.getContentText());
  /* Output on screen */
  Logger.log(data);  
 }
我似乎不知道问题是什么。屏幕上似乎没有任何输出。甚至没有一个错误。希望我能得到一些bug测试的建议

我不确定这一行是否能在JavaScript中工作:

/* Bring it all together */
var uri = url.concat(inputapikey).concat(apik).concat(inputnonce).concat(nonce);

JavaScript中的字符串连接使用加号。

试题:

var uri = inputapikey + apik + inputnonce + nonce;