3

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

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

所以我想得到所有的余额。command=returnBalances

随机整数nonce=23455

我必须将这些信息一起转换为“HMAC-SHA512”。所以我使用在线生成器 - quickhash.com,选择SHA-512(SHA2),选择“使用 HMAC 方法”,放入我的 API Key,然后选择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."}

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

4

1 回答 1

8

你正在做一个GET-request。您必须POST为私有功能执行 -request。从文档中:

所有对交易 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。

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

示例请求:

  1. 假设您的 API-Key 是 123,而您的 API-Secret 是 456。
  2. 请求的参数returnBalancescommand=returnBalances&nonce=1473087174请注意:nonce每次请求都必须增加 - 参数。建议使用当前时间戳。
  3. command=returnBalances&nonce=1473087174您使用 HMAC-SHA512 和您的密码 ( 456 ) 进行签名。结果将被放入Sign-Header。
  4. 您将 API-Key ( 123 ) 放入Key-Header。
  5. 您将请求参数command=returnBalances&nonce=1473087174放入请求正文中。
  6. 您使用-method使用SSL-encryption将您的请求发送到https://poloniex.com/tradingApiPOST

除非您使用允许您修改请求标头等的第三方软件/插件,否则在您的浏览器上执行此操作将不起作用。

于 2016-09-05T15:01:38.720 回答