देता है मैं जीडीएक्स पर एक पोस्ट अनुरोध करने की कोशिश कर रहा हूं। लेकिन मुझे हमेशा "अमान्य हस्ताक्षर" संदेश प्राप्त होता है। अनुरोध + पर हस्ताक्षर बनाने के लिए GDAX एपीआई डॉक्स: https://docs.gdax.com/#creating-a-requestजीडीएक्सएक्स पोस्ट कॉल अमान्य हस्ताक्षर
Preshash स्ट्रिंग रिटर्न निम्नलिखित:
1500627733POST/आदेश { "कीमत": "1000.0", "आकार": "0.02", "type" : "सीमा", "पक्ष": "बेच", "product_id": "बीटीसी-यूरो"}
मेरे हस्ताक्षर विधि:
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;
}
मेरा अनुरोध विधि:
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;
}
मैं भी अनिद्रा के साथ एक एपीआई अनुरोध कॉल करने की कोशिश की, लेकिन यह एक ही संदेश ("अमान्य हस्ताक्षर") देता है।
कोई सुराग?
अग्रिम में बहुत बहुत धन्यवाद!
वही समस्या जिसका सामना कर रहा हूं। क्या आपके पास इस पर कोई संकल्प है? – a4arpan
इस मुद्दे पर भी चल रहा है, क्या आपने कभी यह पता लगाया कि इसका निवारण कैसे करें? – thomallen