java - Bitstamp {"error": "API key not found"} Code Response: 200 -
i trying place balance request bitstamp in java, wrote following code getting error:
{"error": "api key not found"} code response: 200
anyone has idea?
the key , secret ones correctly provided exchange wonder if making mistake along way.
import java.io.bufferedreader; import java.io.dataoutputstream; import java.io.ioexception; import java.io.inputstreamreader; import java.net.url; import java.net.urlencoder; import java.security.keymanagementexception; import java.security.nosuchalgorithmexception; import java.util.linkedhashmap; import java.util.map; import javax.crypto.mac; import javax.crypto.spec.secretkeyspec; import javax.net.ssl.httpsurlconnection; import javax.xml.bind.datatypeconverter; public class main { public static void main(string[] args) { string key = "apikeydemo"; string secret = "apisecretdemo"; integer nonce = 100; string id = "123456"; string message = nonce.tostring() + id + key; string signature = ""; try { signature = encode(secret, message); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } map<string, string> map = new linkedhashmap<string, string>(); map.put("key", key); map.put("signature", signature); map.put("nonce", nonce.tostring()); stringbuilder urlparameters = new stringbuilder(); (string k : map.keyset()) { if(urlparameters.length() > 0) { urlparameters.append("&"); } urlparameters.append(k).append("=").append(urlencoder.encode(map.get(k))); } //system.out.println(urlparameters); try { dopost(map); } catch (keymanagementexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (nosuchalgorithmexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } } public static string encode(string secret, string message) throws exception { mac sha256_hmac = mac.getinstance("hmacsha256"); secretkeyspec secret_key = new secretkeyspec(secret.getbytes(), "hmacsha256"); sha256_hmac.init(secret_key); byte[] hash = sha256_hmac.dofinal(message.getbytes()); string signature = datatypeconverter.printhexbinary(hash).touppercase(); //system.out.println(signature); return signature; } private static string dopost( map<string,string> params) throws ioexception, nosuchalgorithmexception, keymanagementexception { //"param1=a¶m2=b¶m3=c" stringbuilder urlparameters = new stringbuilder(); (string key : params.keyset()) { if(urlparameters.length() > 0) { urlparameters.append("&"); } //urlparameters.append(key).append("=").append(urlencoder.encode(params.get(key))); urlparameters.append(key).append("=").append(params.get(key)); } string query = urlparameters.tostring(); system.out.println(query); url url = new url("https://www.bitstamp.net/api/balance/"); httpsurlconnection con = (httpsurlconnection) url.openconnection(); //add reuqest header con.setrequestmethod("post"); // send post request con.setdooutput(true); dataoutputstream wr = new dataoutputstream(con.getoutputstream()); wr.writebytes(query); wr.flush(); wr.close(); string json = ""; if (con.getresponsecode() == httpsurlconnection.http_ok) { bufferedreader br = new bufferedreader(new inputstreamreader(con.getinputstream())); string text; while((text = br.readline()) != null) { json += text; } br.close(); }else{ ; } con.disconnect(); system.out.println("code response: " + con.getresponsecode()); return json; }
}
did remember click activate next key on api page?
Comments
Post a Comment