问题描述
我已经尝试构建外部适配器,但是不幸的是,我一直遇到错误:“您无权执行此请求”
如果您想知道如何精确地构建一个,则有以下资源(基本上是相同的材料,但是格式不同):
在上面的资源中,NodeJS中使用了一个模板: https://github.com/PatrickAlphaC/CL-EA-NodeJS-Template
这是我自己尝试的仓库(有错误)。我刚刚修改了index.js文件: https://github.com/gvandriel/CL-EA-NodeJS-Template
然后使用以下命令启动服务器
- 纱线(安装依赖项)
- 开始纱线
curl -X POST -H "content-type:application/json" "http://localhost:8080/" --data '{ "id": 0,"data": { "asset": "USDT","address": "0xe66273cC443F774653E885496f76b486F956B47F","amount": 10 } }'
请注意,由于您正在从Binance提款,因此需要在帐户API设置中启用该功能并设置受限制的IP地址。而且,我相信您只能从您以前提取过的地址中提取资金。另外,请不要忘记使用自己的密钥更新.env_sample文件
代码中有什么用?
我们知道第58行的totalstring在工作,因为我们在外部适配器外部对其进行了测试。此外,我们还知道带有X-MBX-APIKEY的标头正在工作。因此,我们认为错误在于以下原因:
Requester.request(config,customError)
.then((response) => {
// It's common practice to store the desired value at the top-level
// result key. This allows different adapters to be compatible with
// one another.
response.data.result = Requester.validateResultNumber(response.data,[
"msg",]);
callback(response.status,Requester.success(jobRunID,response));
})
.catch((error) => {
callback(500,Requester.errored(jobRunID,error));
});
该错误也可能在代码中的其他位置,因此请确保在此处检查修改后的index.js文件: https://github.com/gvandriel/CL-EA-NodeJS-Template
解决方法
在您的index.js file中,您正在设置参数和配置对象:
const params = {
asset,address,amount,recvWindow,timestamp,signature,};
const config = {
method: "post",url,headers: {
"X-MBX-APIKEY": process.env.API_key,},};
但是,params
从未包含在config
中。另外,似乎您想将这些参数作为POST数据发送。考虑将params
对象重命名为data
(Axios docs),然后将data
附加到您的config
中:
const config = {
method: "post",data
}