【发布时间】:2018-11-18 18:54:35
【问题描述】:
我正在尝试使用 Bitstamp api,并且能够成功调用任何只需要密钥、签名和 nonce 参数的东西。但是,当我尝试转移或订购时,需要额外的参数,如地址或价格和金额,我的请求似乎搞砸了。我是编程、api 和请求的新手。
def sell(self, product):
nonce = self.get_nonce() #an integer time.time()*10000
btc = self.get_btc_bal() #float
price = self.get_btcusd_bid() #float
amount = float(str(btc)[:5])
message = str(nonce) + self.customer_id + self.api_key
signature = hmac.new(self.api_secret, msg=message, digestmod=hashlib.sha256).hexdigest().upper()
r = requests.post(self.url + 'sell/btcusd/', params={'key':self.api_key, 'signature':signature, 'nonce': nonce, 'amount': amount, 'price':price})
r = r.json()
print(r)
print('open sell order in Bitstamp for %s BTC at %s USD'%(amount,price))
我的确切问题是如何正确格式化/组织/编码参数。当我像这样发送它时,它会返回
{"status": "error", "reason": "Missing key, signature and nonce parameters.", "code": "API0000"}
如果我不使用 params= 它会返回
{"status": "error", "reason": "Invalid nonce", "code": "API0004"}
我不相信 nonce 的原因,因为我对所有请求都使用完全相同的 get_nonce() 方法。我希望有人能看到我错在哪里,谢谢
【问题讨论】:
标签: python python-requests bitcoin