首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用KuCoin API发出Javascript POST请求?

如何使用KuCoin API发出Javascript POST请求?
EN

Stack Overflow用户
提问于 2021-11-23 23:41:42
回答 1查看 737关注 0票数 0

我正在尝试构建一个使用KuCoin API的javascript/jQuery脚本。我特别尝试从浏览器控制台,而不是从Node或本地文件中使用KuCoin API。

我在Kucoin方面取得了一些成功,我可以发出签名的REST请求,但是我不能让REST请求工作。这是我的代码:

代码语言:javascript
复制
// VARIABLES
var burl = 'https://cors-anywhere.herokuapp.com/https://api.kucoin.com'
var api_key = "xxx"
var api_secret = "xxx"
var api_passphrase = "xxx"
var endPointAccount = '/api/v1/accounts';
var endPointOrder = '/api/v1/orders';

// REST (Account)
// This signed GET request works
var now = Date.now();
var hey = now + "GET" + endPointAccount

/* signature */
var signature = CryptoJS.HmacSHA256(hey, api_secret);
var signatureInBase64 = CryptoJS.enc.Base64.stringify(signature);

/* passphrase */
var passphrase = CryptoJS.HmacSHA256(api_passphrase, api_secret);
var passphraseInBase64 = CryptoJS.enc.Base64.stringify(passphrase);

var headers = {
    "KC-API-SIGN": signatureInBase64,
    "KC-API-TIMESTAMP": now,
    "KC-API-KEY": api_key,
    "KC-API-PASSPHRASE": passphraseInBase64,
    "KC-API-KEY-VERSION": "2"
}

var url = burl + endPointAccount;
$.ajax({
    type: 'GET',
    url: url,
    headers: headers,
    dataType: 'json',
    success: function (data) {
        console.log(data);
    }
});


// REST (Order Limit BUY)
var now = Date.now().toString();
var hey = now + 'POST/api/v1/orders{"clientOid":"ADAUSDT","side":"buy","symbol":"ADA-USDT","price":"0.001","size":"50000"}';

/* signature */
var signature = CryptoJS.HmacSHA256(hey, api_secret);
signatureInBase64 = CryptoJS.enc.Base64.stringify(signature);

/* passphrase */
var passphrase = CryptoJS.HmacSHA256(api_passphrase, api_secret);
passphraseInBase64 = CryptoJS.enc.Base64.stringify(passphrase);

var headers = {
    "KC-API-SIGN": signatureInBase64,
    "KC-API-TIMESTAMP": now,
    "KC-API-KEY": api_key,
    "KC-API-PASSPHRASE": passphraseInBase64,
    "KC-API-KEY-VERSION": "2"
}

var url = burl + 'POST/api/v1/orders{"clientOid":"ADAUSDT","side":"buy","symbol":"ADA-USDT","price":"0.001","size":"50000"}';
$.ajax({
    headers: headers,
    type: "POST",
    url: url,
    dataType: "json",
    success: function (data) {
        console.log(data);
    }
});

在发布请求时,我总是收到以下错误:代码:'400005',msg:‘无效的KC标志’

有人知道我做错了什么吗?

谢谢,史蒂夫

EN

回答 1

Stack Overflow用户

发布于 2022-01-07 15:15:25

我也有同样的问题。首先,在要签名的字符串中,必须包含方法。那你就需要定义一个身体。如果没有人,您应该传递body="“。然后必须将Date.now()解析为string。例如:

代码语言:javascript
复制
var now = Date.now().toString();
var hey = now + method + url + body;

写完这篇文章之后,我看到您已经将方法包含在url中了,所以这也很好。

附带注意:我没有使用CryptoJS。我使用了node.js的密码模块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70089143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档