这肯定是个新手问题。试图在coinbase上获取每日的历史现货价格。使用api的python实现,如下所示。
https://developers.coinbase.com/api/v2#get-spot-price
price = client.get_spot_price(currency_pair= 'BTC-USD', date='2016-5-10')结果(实际上是今天的价格):
2016-5-10
{
"amount": "5613.84",
"base": "BTC",
"currency": "USD"
}我得到了当前的现货价格。有没有人能帮我遮蔽一下我错过的东西?谢谢!
发布于 2017-10-13 22:15:43
如果您自己简单地点击URI,它可以很好地工作:
https://api.coinbase.com/v2/prices/BTC-USD/spot?date=2017-05-10
这给出了一个合理的答案(加上一个警告,我们可以忽略这个问题):
{"data":{"base":"BTC","currency":"USD","amount":"1758.04"},"warnings":[{"id":"missing_version","message":"Please supply API version (YYYY-MM-DD) as CB-VERSION header","url":"https://developers.coinbase.com/api#versioning"}]}因此,在此过程中的某个地方,您正在进行错误的查询。要么是库坏了,要么是你使用它的方式和你所说的不一样。尝试上面的URL,然后尝试使用Wireshark之类的工具来查看您的基于库的解决方案正在查询什么。
发布于 2017-10-13 22:17:17
我发现API无法获取json请求的参数。它在'clean_params‘函数中抛出参数dict,该函数总是返回一个空字典。
在API文件util.py中,第31行
def encode_params(params, **kwargs):
"""Clean and JSON-encode a dict of parameters."""
cleaned = clean_params(params, **kwargs)
return json.dumps(params) # changed from cleaned (was empty) to params我知道它不干净,但它很管用。
price = client.get_spot_price(currency_pair = 'BTC-USD',date='2014-05-10')
{
"amount": "453.19",
"base": "BTC",
"currency": "USD"
}发布于 2017-10-13 21:55:36
在API中:
指定历史现货价格的日期,格式为YYYY-MM-DD (UTC)
可能是您需要为月份指定2位数字
price = client.get_spot_price(currency_pair= 'BTC-USD', date='2016-05-10')https://stackoverflow.com/questions/46731543
复制相似问题