У меня есть скрипт Google Sheets, который отлично работает через редактор скриптов.Когда я пытаюсь запустить его через пункт меню, он выдает «Запрос заблокирован» из API.Сценарий в основном пытается использовать Binance API.
Вот код:
function getMyTrades() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var thresholdVal = parseFloat(ss.getSheetByName("Settinngs").getRange("C1").getValue());
var balancesSheet = ss.getSheetByName("Account Overview");
var openOrdersSheet = ss.getSheetByName("OpenOrders");
var api = "/api/v3/account";
var json = getBinanceResponse(api,"");
var balancesArr = json['balances'];
// remaining code here.....
}
function getBinanceResponse(api,string){
var key = 'key_here';
var secret = 'secret_key here';
var timestamp = Number(new Date().getTime()).toFixed(0);
string += "timestamp=" + timestamp;
var baseUrl = "https://api.binance.com";
var signature = Utilities.computeHmacSha256Signature(string, secret);
signature = signature.map(function(e) {
var v = (e < 0 ? e + 256 : e).toString(16);
return v.length == 1 ? "0" + v : v;
}).join("");
var query = "?" + string + "&signature=" + signature;
var params = {
'method': 'get',
'headers': {'X-MBX-APIKEY': key},
'muteHttpExceptions': true,
};
var data = UrlFetchApp.fetch(baseUrl + api + query, params);
Logger.log(data)
return JSON.parse(data);
}
Это ответ от Binance, когда запрос заблокирован
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
ERROR: The request could not be satisfied
403 ERROR
The request could not be satisfied.
Request blocked.
Generated by cloudfront (CloudFront)
Request ID: Ov-DKv4UDH88eYZbo366xy7BsdsJVVcvHxLLPLeS2li6VqXw1qp05K4fw==