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 = "×tamp="+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
}
当我尝试运行此代码时,此代码在币安交换上触发“签名无效”错误。我环顾四周,尝试了多种修复方法,包括非常完善和刷新我的api,更改接收窗口(文档说它必须在 以下60000,但将其设置为60000可以正常工作)以及其他一些小的调整。我正在使用Google表格中的Google Apps脚本对此进行编码。
使用几乎相同的逻辑,在此代码可以正常工作的地方:
this.getBalance = function(){
var binance_private = "https://api.binance.com/api/v3"
var key = API
var secret = SECRET
var timestamp = new Date()
var request = "×tamp="+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-trade-list-user_data