Я пытаюсь получить сделки из службы под названием 3Commas в Google Apps Script. Я работал с общедоступными конечными точками раньше, но я впервые пытался работать с подписанными конечными точками. В настоящее время я получаю сообщение об ошибке:
[19-01-09 16:46:24:592 EST] {"error":"signature_invalid","error_description":"Provided signature is invalid"}
Я предполагаю, что это проблема форматирования с моей стороны. Я использую jsSHA для создания части HMAC. Я попытался следовать примеру в документах. Но я еще не совсем понял. Любые предложения о том, что это может быть?
3Комментарии: https://github.com/3commas-io/3commas-official-api-docs#signed--endpoint-security
function main() {
var key = 'apikey';
var secret = 'apisecret';
var baseUrl = "https://3commas.io/public/api";
var endPoint = "/ver1/smart_trades";
var pointParams = "?limit=10&offset=&account_id=&scope=&type="
//base url + end point + params
var queryString = baseUrl+endPoint+pointParams;
var message = queryString;
var secret = secret;
var shaObj = new jsSHA("SHA-256", "TEXT");
shaObj.setHMACKey(secret, "B64");
shaObj.update(message);
var signature = shaObj.getHMAC("B64");
//headers
var hparams = {
'method': 'get',
'headers': {'APIKEY': key,
'Signature': signature},
'muteHttpExceptions': true
};
//call
var data = UrlFetchApp.fetch(queryString , hparams).getContentText();
Logger.log(data)
}