请帮助我不知道我的代码有什么问题。不需要签名的端点工作正常,所以我想是我如何获取签名的问题。我收到此错误:
data: { code: -2014, msg: 'API-key format invalid.' } } }
Run Code Online (Sandbox Code Playgroud)
API 文档:https : //github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md
SIGNED 端点需要在查询字符串或请求正文中发送附加参数签名。端点使用 HMAC SHA256 签名。HMAC SHA256 签名是加密的 HMAC SHA256 操作。使用您的 secretKey 作为密钥,使用 totalParams 作为 HMAC 操作的值。签名不区分大小写。totalParams 定义为与请求正文连接的查询字符串。
我的代码:
const axios = require('axios');
const crypto = require('crypto');
const qs = require('qs');
const binanceConfig = {
API_KEY: 'XXXXXXX',
API_SECRET: 'XXXXXX',
HOST_URL: 'https://api.binance.com',
};
const buildSign = (data, config) => {
return crypto.createHmac('sha256', config.API_SECRET).update(data).digest('hex');
};
const privateRequest = async (data, endPoint, type) => {
const dataQueryString …Run Code Online (Sandbox Code Playgroud) 我有一些像这样的JSON:
{
"a": { "text": "text", "index": 5 },
"b": { "text": "text", "index": 3 },
"c": { "text": "text", "index": 1 },
}
Run Code Online (Sandbox Code Playgroud)
现在我需要对这个对象进行交互并在第一级(a,b和c)的每个属性上调用一个函数,但我必须使用"index"属性按顺序执行,比如"c"首先,然后"b" "并且持续"a".
但是我读到我不应该使用for循环:
for ... in循环以任意顺序迭代对象的属性(有关为什么不能依赖于迭代的看似有序性的原因,请参阅delete运算符,至少在跨浏览器设置中).
那我怎么能这样做?
谢谢