我一直收到这个错误“异常:https://ftx.com返回代码401的请求失败。截断的服务器响应:{”成功“:false," error ":"Not”}(使用muteHttpExceptions选项检查完整响应)“
我的密码怎么了?
var host = 'https://ftx.com';
var endpoint ='/api/wallet/all_balances';
var url = host + endpoint;
var timestamp = ''+ new Date().getTime();
var payload = timestamp + 'GET' + endpoint+'';
var shaObj = new jsSHA("SHA-256", "BYTES");
shaObj.setHMACKey(api_secret, "BYTES");
shaObj.update(payload);
var signature = shaObj.getHMAC("HEX");
var options = {
method: 'get',
headers: {
'FTX-KEY': api_key,
'FTX-TS': timestamp,
'FTX-SIGN': signature
},
muteHTTPExceptions: 'true'
}
var jsondata = UrlFetchApp.fetch(url, options);
var data = JSON.parse(jsondata.getContentText());发布于 2021-10-27 00:28:40
我相信你的目标如下。
在本例中,当您的脚本被修改时,下面的修改如何?
修改脚本:
不幸的是,不能直接使用new jsSHA()。在Google脚本中,有类实用程序。您可以使用这个类的"computeHmacSha256Signature“方法。而且,我认为muteHTTPExceptions: 'true'是muteHttpExceptions: true。
function myFunction() {
var api_key = "YOUR_API_KEY"; // Please set your API key.
var secret = "YOUR_API_SECRET"; // Please set your secret value.
var host = 'https://ftx.com';
var endpoint = '/api/wallet/all_balances';
var url = host + endpoint;
var timestamp = '' + new Date().getTime();
var payload = timestamp + 'GET' + endpoint + '';
var signature = Utilities.computeHmacSha256Signature(payload, secret).map(byte => ('0' + (byte & 0xFF).toString(16)).slice(-2)).join('');
var options = {
method: 'get',
headers: {
'FTX-KEY': api_key,
'FTX-TS': timestamp,
'FTX-SIGN': signature
},
muteHttpExceptions: true
}
var res = UrlFetchApp.fetch(url, options);
console.log(res.getContentText())
}参考文献:
https://stackoverflow.com/questions/69714829
复制相似问题