Подпись неверная ошибка с использованием Binance API - PullRequest
0 голосов
/ 11 апреля 2020
this.GetTrades = function(symbol){    // Work in Progress signature not valid for some reason...
  var binance_private = "https://api.binance.com/api/v3" 
  var key             = API    
  var secret          = SECRET
  var timestamp       = new Date()
  var request         = "&timestamp="+timestamp.getTime()+"&recvWindow=60000"
  var apisign         = Utilities.computeHmacSha256Signature(request,secret).reduce(function(str,chr{
  chr = (chr < 0 ? chr + 256 : chr).toString(16)
  return str + (chr.length==1?'0':'') + chr
  },'');; 

  var uri             = binance_private + "/myTrades?" + request + "&symbol=" + symbol +  
                        "&signature=" + apisign 
  var headers         = {
   "X-MBX-APIKEY": key
  }
  var params          = {
  "method": "get",
  "headers": headers
  }
  var response = UrlFetchApp.fetch(uri,params)
  var dataAll  = JSON.parse(response.getContentText())
  return dataAll
}

Этот код вызывает ошибку «Подпись недействительна» при обмене бинансами, когда я пытаюсь его запустить. Я осмотрелся и попробовал несколько исправлений, в том числе исправление и обновление моего apis, изменение окна получения (в документах говорится, что оно должно быть при 60000, но установка 60000 работает нормально) и другие незначительные изменения. Я кодирую это, используя скрипты приложений Google на листах Google.

Где этот код работает нормально, используя почти те же логи c:

this.getBalance = function(){    
  var binance_private = "https://api.binance.com/api/v3" 
  var key             = API    
  var secret          = SECRET
  var timestamp       = new Date()
  var request         = "&timestamp="+timestamp.getTime()+"&recvWindow=60000"
  var apisign         = Utilities.computeHmacSha256Signature(request,secret).reduce(function(str,chr){
  chr = (chr < 0 ? chr + 256 : chr).toString(16);
  return str + (chr.length==1?'0':'') + chr;
  },'');; 

  var uri     = binance_private + "/account?" + request + "&signature="+apisign 
  var headers = {
  "X-MBX-APIKEY": key
  }
  var params  = {
    "method": "get",
    "headers": headers
  }
  var response = UrlFetchApp.fetch(uri,params)
  var dataAll  = JSON.parse(response.getContentText())
  return dataAll
}

ссылка на документацию Binance Api: https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#account -коммерческий-список-user_data

...