我試圖點擊Coinspot REST API,但我收到一個錯誤返回。我在與Bittrex和獨立保留區談話時毫無困難,但Coinspot有點不同。這是我的代碼:Coinspot REST API - C#
protected override RESTClient RESTClient { get; } = new RESTClient(new NewtonsoftSerializationAdapter(), new Uri("https://www.coinspot.com.au/api"));
public class postdata
{
public string nonce { get; set; }
}
public string CalculateMD5Hash(string input)
{
//step 1, calculate MD5 hash from input
MD5 md5 = MD5.Create();
var inputBytes = Encoding.ASCII.GetBytes(input);
var hash = md5.ComputeHash(inputBytes);
// step 2, convert byte array to hex string
var sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString("X2"));
}
return sb.ToString();
}
/// <summary>
/// Private IR Call: GetAccounts
/// </summary>
/// <returns></returns>
private async Task<List<AccountHolding>> Balances()
{
//https://github.com/geekpete/py-coinspot-api/blob/master/coinspot/coinspot.py
//var nonce = new Date().getTime();
//var postdata = postdata || { };
//postdata.nonce = nonce;
//var stringmessage = JSON.stringify(postdata);
//var signedMessage = new hmac("sha512", self.secret);
//signedMessage.update(stringmessage);
// 'sign': sign,
//'key': self.key
var nonce = APIHelpers.GetNonce();
var postdata = new postdata { nonce = nonce };
var json = JsonConvert.SerializeObject(postdata);
System.Diagnostics.Debug.WriteLine(json);
var sign = APIHelpers.GetHMACSHAHash(ApiSecret, json, APIHelpers.HMACSHAType.NineBit);
//Do we do this?
//The JavaScript samples seem to hash with MD5 afterwards for double encryption?
sign = CalculateMD5Hash(sign);
RESTClient.Headers.Clear();
RESTClient.Headers.Add("sign", sign);
RESTClient.Headers.Add("key", ApiKey);
try
{
var retVal = await RESTClient.PostAsync<string, postdata>(postdata, "/my/balances");
System.Diagnostics.Debug.WriteLine(retVal);
}
catch (Exception ex)
{
}
throw new NotImplementedException();
}
doco是非常少的!我卡住了。 https://www.coinspot.com.au/api
我現在沒有這個錯誤,但它是一個完全非描述性錯誤,包含有關哪裏出錯的信息。這就像「無效呼叫」。但是,我知道它在某種程度上接受了我發佈的數據,因爲如果我將屬性「nonce」的名稱更改爲「noncey」,我會收到一個有意義的錯誤,指出「不是隨機數」。
你想告訴我們錯誤嗎? – CodingYoshi
對不起,我的意思是包括它,但我現在遠離我的電腦。這是非常不明確的。這就像「無效」,沒有任何解釋。 –
可以確認,錯誤(在json中)看起來像 '{ 'status':'invalid' }' – wislon