Ordre limite Java GDAX (publication HTTP)


Essayer d’envoyer une requête HTTP Post à GDAX avec auth. Les requêtes ‘GET’ fonctionnent correctement et je ne suis pas sûr de transmettre correctement les paramètres json car je continue à recevoir une mauvaise requête.

Private static JsonObject LimitOrder (symbole de chaîne, côté booléen, quantité de chaîne, prix de chaîne)

BigDecimal dPrice = nouveau BigDecimal (prix);

BigDecimal dQuantity = nouveau BigDecimal (quantité);

String sSide = side? « Acheter » : « vendre »;

 » « + dQuantity.toString () + » « ,  » price  » :  » « + dPrice.toString () + » « ,  » side  » : «  » + sSide + «  »,: «  » + symbol + «  »,:;

Ordre limite Java GDAX (publication HTTP)

essayer

Horodatage de la chaîne = Instant.now (). GetEpochSecond () + «  »;

String accessSign = getAccess (horodatage, « POST », « / orders »);

String apiKey = properties.getProperty (« clé »);

String passphrase = properties.getProperty (« passphrase »);

// » + properties.getProperty (« host ») + « / orders »);

openConnection ();

connection.setDoOutput (true); //

connection.setRequestProperty (« Content-Type », « application / json; charset = UTF-8 »);

connection.setRequestProperty (« CB-ACCESS-KEY », apiKey);

connection.setRequestProperty (« CB-ACCESS-SIGN », accessSign);

connection.setRequestProperty (« CB-ACCESS-PASSPHRASE », phrase secrète);

connection.setRequestProperty (« CB-ACCESS-TIMESTAMP », horodatage);

connection.setRequestProperty (« accepter », « application / json »);

connection.setConnectTimeout (5000);

connection.setReadTimeout (5000);

// System.out.println (« WRiting : » + param);

try (OutputStream output = connection.

output.write (param.getBytes (« UTF-8 »));

État de la chaîne = connection.getResponseMessage ();

System.out.println (« STATUS : » + status);

BufferedReader in = new BufferedReader (nouveau InputStreamReader (connection.getInputStream ()));

String inputLine;

Contenu StringBuffer = nouveau StringBuffer ();

while ((inputLine = in.readLine ()) !

content.append (inputLine);

if (content.

System.out.println (contenu);

System.out.println (« Réponse vide »);

joindre();

connection.disconnect ();

e.printStackTrace ();

return null;

et la méthode de signe d’accès ci-dessous:

Chaîne statique privée getAccess (horodatage de la chaîne, méthode de la chaîne, chemin de la chaîne) lève ,

String secret = properties.getProperty (« secret »);

String prehash = horodatage + méthode + chemin;

getInstance (« HmacSHA256 »);

octet secretDecoded = Base64.getDecoder (). decode (secret);

« HmacSHA256 »);

return Base64.getEncoder ().doFinal (prehash.getBytes ()));