#javascript #api #google-chrome #fetch #binance
Вопрос:
Мой Код Отлично Работает В Приложении anWriter, Но Не Работает В Браузере Chrome !
Он Зависает После Достижения Строки Выборки В Функции Account_Fetch !
Если Код Работает Нормально Он Покажет Сообщение «ОК«!
Документация :
Тип безопасности конечной точки
Безопасность подписанной конечной точки
Примечание : Эта Учетная Запись Предназначена Для Тестирования, И Именно Поэтому Я Делюсь Своим Ключом API И Секретным Ключом !
<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.js"></script>
<script>
let AccessKey="1q02kgTluaKFYH9vgBAQyIIIN7UmSSCZvI8dELzM4RsNR3WEWJJqb6cIdaPVkYjE";
let SecretKey="IFcsWGidd6WQFZMKlUMd9fzTn0ztBV8esRl1BSz5O9vrKClrlDXorVAxUxJGWkwk";
let ServerTime=0;
let MaxDelay=60000;
Process();
async function Process()
{
await Time_Fetch();
await Account_Fetch(AccessKey,SecretKey,ServerTime,MaxDelay);
alert("OK");
}
async function Time_Fetch()
{
let URL="https://api.binance.com/api/v3/time";
let Request=URL;
let Fetch=await fetch(Request);
let JSON=await Fetch.json();
let Data=await JSON;
ServerTime=parseInt(Data.serverTime);
}
async function Account_Fetch(AccessKey,SecretKey,ServerTime,MaxDelay)
{
let URL="https://api.binance.com/api/v3/account";
let Parameters="timestamp=" ServerTime "amp;" "recvWindow=" MaxDelay;
let Signature=CryptoJS.HmacSHA256(Parameters,SecretKey);
let Request=URL "?" Parameters "amp;" "signature=" Signature;
let Fetch=await fetch(Request,{method:"get",headers:{"X-MBX-APIKEY":AccessKey}});
let JSON=await Fetch.json();
let Data=await JSON;
}
</script>
</html>
Комментарии:
1. Я не уверен, какого ответа вы ожидаете. Попробуйте добавить режим:»no-cors» в команду fetch.
Ответ №1:
Взгляните на следующий код — он выполняется до конца. Однако мне сказали, что «вы не можете отправлять подписанные запросы API из браузера».
async function Process()
{
await Time_Fetch();
await Account_Fetch(AccessKey,SecretKey,ServerTime,MaxDelay);
alert("OK");
}
async function Time_Fetch()
{
let URL="https://api.binance.com/api/v3/time";
let Request=URL;
let response=await fetch(Request)
.then(blob => blob.json)
ServerTime=parseInt(Blob.serverTime);
}
async function Account_Fetch(AccessKey,SecretKey,ServerTime,MaxDelay)
{
let URL="https://api.binance.com/api/v3/account";
let Parameters="timestamp=" ServerTime "amp;" "recvWindow=" MaxDelay;
let Signature=CryptoJS.HmacSHA256(Parameters,SecretKey);
let Request=URL "?" Parameters "amp;" "signature=" Signature;
let Fetch=await fetch(Request,{method:"get",headers:{"X-MBX-APIKEY":AccessKey}, mode: 'no-cors'})
.then(blob => blob.json)
}
</script>
</html>