Изучая этот вопрос ( REST-вызов с проверкой подлинности Java-джерси для Bitstamp ), я вижу, что у OP была похожая проблема.К сожалению, я не могу заставить вызов работать в моей собственной реализации: я попытался отправить key
, nonce
и signature
как через параметры запроса, так и в формате json, отформатированном в теле запроса.Я зарегистрировал заголовки и контент, поэтому в этих двух случаях это итоговые журналы:
// send in body
---> POST https://www.bitstamp.net/api/v2/balance/ HTTP/1.1
Accept: application/json;charset=UTF-8
Content-Type: application/json;charset=UTF-8
Content-Length: 140
{"key":"12345678901234567890123456789012","nonce":1234567890,"signature":"1234567890123456789012345678901234567890123456789012345678901234"}
---> END HTTP (140-byte body)
<--- HTTP/1.1 403 Authentication Failed (49ms)
{"status": "error", "reason": "Missing key, signature and nonce parameters.", "code": "API0000"}
<--- END HTTP (96-byte body)
// send as query-parameters
---> POST https://www.bitstamp.net/api/v2/balance/?key=12345678901234567890123456789012&signature=1234567890123456789012345678901234567890123456789012345678901234&nonce=1234567890 HTTP/1.1
Accept: application/json;charset=UTF-8
Content-Type: application/x-www-form-urlencoded
---> END HTTP (0-byte body)
<--- HTTP/1.1 403 Authentication Failed (45ms)
{"status": "error", "reason": "Missing key, signature and nonce parameters.", "code": "API0000"}
<--- END HTTP (96-byte body)
Что я делаю не так?Что означает битовая метка, когда она сообщает
Для успешной аутентификации вам необходимо предоставить свой ключ API, подпись и параметр nonce.(https://www.bitstamp.net/api/)
Я использую Feign в качестве клиента REST. Два метода выглядят так:
@PostMapping(value = "api/v2/balance/", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
ResponseEntity<Map<String, Object>> getAccountBalanceQuery(@RequestParam("key") String key,
@RequestParam("signature") String signature,
@RequestParam("nonce") Integer nonce);
@PostMapping(value = "api/v2/balance/", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
ResponseEntity<Map<String, Object>> getAccountBalanceBody(@RequestBody BitstampAuth body);
Спасибо!