我被困在如何根据 Google Scripts 中的 Binance API 正确地将签名包含到我的 get 命令中。它所说的是
我所拥有的是:
function BinanceTrades() {
var curTime = Number(new Date().getTime()).toFixed(0)
var sKey = Utilities.computeHmacSha256Signature('symbol=LTCBTC×tamp=' + curTime, '**mySeceretKey**');
Logger.log(sKey)
var headers = {'X-MBX-APIKEY': '**myKey**'}
var data = UrlFetchApp.fetch("https://api.binance.com/api/v3/allOrders?signature=" + sKey + "&symbol=LTCBTC×tamp=" + curTime, {'headers' : headers})
Logger.log(data)
}
我得到的错误是:
我不确定如何正确计算 HMAC SHA256 并合并 totalParams。
我之前的帖子是 this.
最佳答案
这些修改怎么样?
retrofit 要点:
来自 the manual you provided
"symbol=LTCBTC×tamp=" + curTime
。 Utilities.computeHmacSha256Signature()
加密的数据是已签名的十六进制字节数组。 反射(reflect)以上几点的修改后的脚本如下。
修改后的脚本:
function BinanceTrades() {
var key = '**myKey**';
var secret = '**mySeceretKey**';
var curTime = Number(new Date().getTime()).toFixed(0);
var string = "symbol=LTCBTC×tamp=" + curTime;
var sKey = Utilities.computeHmacSha256Signature(string, secret);
sKey = sKey.map(function(e) {
var v = (e < 0 ? e + 256 : e).toString(16);
return v.length == 1 ? "0" + v : v;
}).join("");
var params = {
'method': 'get',
'headers': {'X-MBX-APIKEY': key},
'muteHttpExceptions': true
};
var url = "https://api.binance.com/api/v3/allOrders?" + string + "&signature=" + sKey;
var data = UrlFetchApp.fetch(url, params);
Logger.log(data.getContentText())
}
笔记 :
关于javascript - 使用 Google Scripts 的 Binance API 签名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48191838/