Неверный формат API-ключа Binance Api - PullRequest
0 голосов
/ 17 июня 2020

У меня проблема с желанием получить информацию о priceIndex для binance. Это ошибка, которую я получил при доступе к нему.

{"code": - 2014, "msg": "Недействительный формат ключа API."}

Я использую такой URL: https://api.binance.com/sapi/v1/margin/priceIndex?symbol=BNBBTC&recvWindow=5000&timestamp=1592407054950&signature=xxxxxxxx

<script>
    export default {
        data() {
            return {
                binance: {
                    restapi: {
                        apiUrl: 'https://api.binance.com',
                        endPoint: '/sapi/v1/margin/priceIndex',
                        method: 'GET',
                    },
                    config: {
                        apiKey: 'xxxxxxxxx',
                        secretKey: 'xxxxxxxxx',
                    },
                },
                formData: {
                    symbol: 'BNBBTC',
                    recvWindow: '5000',
                    timestamp: '',
                }
            }
        },
        methods: {
            getTime(){
                var vm = this;

                vm.$http({
                    url: 'https://api.binance.com/api/v1/time',
                    method: 'GET',
                }).then((res) => {
                    vm.formData.timestamp = res.body.serverTime;
                }).catch((err) => {
                    //error
                });
            },
            mainProcces(){
                var vm = this;
                const CryptoJS = require('crypto-js');
                const qs = require('qs');

                const dataQueryString = qs.stringify(vm.formData);
                const dataSignature = CryptoJS.HmacSHA256(dataQueryString, vm.binance.config.secretKey).toString(CryptoJS.enc.Hex);

                vm.requestData(vm.binance.restapi, vm.binance.config, dataQueryString, dataSignature);
            },
            requestData(restApi, config, dataStr, signature){
                var vm = this;

                vm.$http({
                    url: restApi.apiUrl+restApi.endPoint+'?'+dataStr+'&signature='+signature,
                    headers: {
                        'X-MBX-APIKEY': config.apiKey,
                    },
                    method: restApi.method,
                }).then((res) => {
                    // success
                }).catch((error) => {
                    // error
                });
            },
        },
        mounted() {
            var vm = this;
            vm.getTime();
            setTimeout(function(){
                vm.mainProcces();
            }, 1000);
        }
    }
</script>
...