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

时间:2016-09-05 12:12:16

标签: java php http bitcoin poloniex

我无法生成简单的私人请求。

使用Swift 4小时后,我开始尝试在浏览器中生成请求。

所以我希望获得所有余额。 command=returnBalances

Randome整数nonce=23455

我必须将这些信息转换为" HMAC-SHA512"。所以我使用在线生成器 - quickhash.com,选择 SHA-512(SHA2),选择" 使用HMAC方法",放入我的内部API密钥,然后选择 Base64编码

之后,我有了这个 - fu66g4WfjyJOrjfPtmWoaZGn1v6NK+YeiiKklD5EWfkvfXpBeCQE41Cg7jemh/Q/1yaLBvkxhoX2vpe2949IOA==

然后,我必须要求链接。好:

  

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

但是我收到了错误:

{"error":"Invalid API key\/secret pair."}

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

1 个答案:

答案 0 :(得分:7)

您正在执行GET - 请求。您必须执行POST - 私人功能请求。来自documentation

  

所有对交易API的调用都是通过HTTP POST发送的   https://poloniex.com/tradingApi并且必须包含以下内容   头:

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

此外,所有查询都必须包含" nonce" POST参数。该   nonce参数是一个必须始终大于的整数   以前的nonce使用过。

这意味着在HTTP-Headers中发送KeySign。其余的(commandnonce)是身体的一部分。

示例请求:

  1. 假设您的API密钥为123,而您的API密钥为456。
  2. returnBalances请求的参数为command=returnBalances&nonce=1473087174请注意:每个请求都必须增加nonce - 参数。建议使用当前时间戳。
  3. 您使用HMAC-SHA512和您的秘密( 456 )签署command=returnBalances&nonce=1473087174。结果将放入Sign - 标题。
  4. 您将API密钥( 123 )放入Key - 标题。
  5. 您将请求参数command=returnBalances&nonce=1473087174放入请求正文中。
  6. 您使用 https://poloniex.com/tradingApi 将您的请求发送到 {{3}} 使用 SSL加密。< / LI>

    除非您使用允许修改请求标题等的第三方软件/插件,否则无法通过浏览器执行此操作。