Tôi đang cố thực hiện yêu cầu đăng bài trên GDAX. Nhưng tôi luôn nhận được thông báo "chữ ký không hợp lệ". GDAX API Documents để tạo yêu cầu + ký: https://docs.gdax.com/#creating-a-requestGDAX Post Call trả về chữ ký không hợp lệ
Preshash chuỗi trả về như sau:
1500627733POST/đơn đặt hàng { "giá": "1000.0", "kích thước": "0.02", "gõ" : "giới hạn", "bên kia": "bán", "product_id": "BTC-EUR"}
phương pháp chữ ký của tôi:
public String generateSignature(String requestPath, String method, String body, String timestamp) {
try {
String prehash = timestamp + method.toUpperCase() + requestPath + body;
byte[] secretDecoded = Base64.getDecoder().decode(secretKey);
SecretKeySpec keyspec = new SecretKeySpec(secretDecoded, "HmacSHA256");
Mac sha256 = (Mac) Mac.getInstance("HmacSHA256").clone();
sha256.init(keyspec);
return Base64.getEncoder().encodeToString(sha256.doFinal(prehash.getBytes()));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
phương thức yêu cầu của tôi:
private boolean placeLimitOrder(String currencyPair, String side, String price, String size)
throws UnirestException {
String timestamp = Instant.now().getEpochSecond() + "";
String api_method = "/orders";
String path = base_url + api_method; //base_url = https://api.gdax.com
String method = "POST";
String b = "{\"price\":\"1000.0\",\"size\":\"0.02\",\"type\":\"limit\",\"side\":\"sell\",\"product_id\":\"BTC-EUR\"}";
JsonNode n = new JsonNode(b);
String sig = generateSignature(api_method, method,b, timestamp);
HttpResponse<JsonNode> rep = Unirest.post(path).header("accept", "application/json")
.header("content-type", "application/json")
.header("CB-ACCESS-KEY", publicKey)
.header("CB-ACCESS-PASSPHRASE", passphrase)
.header("CB-ACCESS-SIGN", sig)
.header("CB-ACCESS-TIMESTAMP", timestamp)
.body(n)
.asJson();
System.out.println(rep.getStatusText()); //Bad Request
System.out.println(rep.getBody().toString()); //invalid signature
System.out.println(sig); //returns something
return false;
}
Tôi cũng đã cố gắng thực hiện cuộc gọi yêu cầu API với chứng mất ngủ nhưng trả về cùng một thông báo ("chữ ký không hợp lệ").
Bất kỳ manh mối nào?
Cảm ơn bạn rất nhiều trước!
Cùng vấn đề tôi đang gặp phải. Bạn có bất kỳ giải pháp nào về vấn đề này không? – a4arpan
Cũng gặp sự cố này, bạn có bao giờ tìm ra cách khắc phục sự cố này không? – thomallen