Poloniex API - API密钥/密钥对无效

3
我无法生成简单的私有请求。
在使用Swift 4个小时后,我开始尝试在浏览器中生成请求。
所以我想要获取所有的余额。command=returnBalances 随机整数nonce=23455 我必须将这些信息转换为"HMAC-SHA512"。因此,我使用在线生成器-quickhash.com,选择SHA-512(SHA2),选择"Use HMAC Method",输入我的API密钥,并选择Base64 encoding
之后,我得到了这个-fu66g4WfjyJOrjfPtmWoaZGn1v6NK+YeiiKklD5EWfkvfXpBeCQE41Cg7jemh/Q/1yaLBvkxhoX2vpe2949IOA== 然后,我需要制作请求链接。好的:

https://poloniex.com/tradingApi?Key=YF9RDYRK-GL29DI0T-8CE6292X-9OQ21A2P&Sign=fu66g4WfjyJOrjfPtmWoaZGn1v6NK+YeiiKklD5EWfkvfXpBeCQE41Cg7jemh/Q/1yaLBvkxhoX2vpe2949IOA==

但我收到了错误:
{"error":"Invalid API key\/secret pair."}

有人能帮忙吗?我的错误在哪里?


3
请勿在互联网上输入API密钥或API密钥对。 - A. STEFANI
是的,你现在确实应该更改你的Key/Secret配对,否则任何人都可以通过API访问你的账户。 - Bobface
请展示您的代码。由于Stack Overflow隐藏了关闭原因:寻求调试帮助的问题(“为什么这段代码不起作用?”)必须在问题本身中包含所需行为、具体问题或错误以及复现所需的最短代码。没有明确问题陈述的问题对其他读者来说没有用处。参见:如何创建一个最小、完整且可验证的示例 - jww
1个回答

8

您正在进行GET请求。对于私有功能,您必须执行POST请求。根据文档

All calls to the trading API are sent via HTTP POST to https://poloniex.com/tradingApi and must contain the following headers:

Key - Your API key.
Sign - The query's POST data signed by your key's "secret" according to the HMAC-SHA512 method.

Additionally, all queries must include a "nonce" POST parameter. The nonce parameter is an integer which must always be greater than the previous nonce used.

这意味着KeySign被发送在HTTP-Headers中,其余的(command, nonce)是请求的一部分。
请求示例:
  1. 假设你的API-Key是123,API-Secret是456。
  2. returnBalances发送请求的参数为command=returnBalances&nonce=1473087174,请注意: nonce 参数必须随每次请求增加。建议使用当前时间戳。
  3. 使用HMAC-SHA512和你的密钥(456)来对command=returnBalances&nonce=1473087174进行签名。结果将存放在Sign-Header中。
  4. 将你的API-Key(123)放入Key-Header中。
  5. 将请求参数command=returnBalances&nonce=1473087174放入请求正文中。
  6. 使用POST方法并使用SSL-encryption将你的请求发送到https://poloniex.com/tradingApi
除非你使用允许你修改请求头等的第三方软件/插件,否则在浏览器上操作是行不通的。

{btsdaf} - JonLord

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接