使用danpaquin的cbpro包,然后我调用"auth_client.get_fills"方法来请求Coinbase提供的特定产品的所有订单填充。例如:
all_fills = {}
for product in products:
all_fills[product] = []
fills = a.get_fills(product)
for fill in fills:
for x,y in fill.items():
print(f"t{x}: {y}")
print(fill)
all_fills[product].append(fill)
print(f"{product} captured.")
作为参考;产品";在我的程序中是Coinbase提供的所有硬币配对的列表"ETH-USD"LTC-USD";,等
.get_fills((返回该特定产品的所有订单填充的生成器。
我在这里的问题是,在一些产品上,生成器(fills(返回的迭代(fill(实际上是字符串,";消息";。当然,根据我上面的代码,这会产生一个错误。
AttributeError: 'str' object has no attribute 'items'
我从Coinbase文档中了解到,错误以json的形式返回;消息";是其中一把钥匙。
如果这实际上只是某种错误消息、完成消息或其他消息的关键……我希望能够看到消息的实际内容,而不仅仅是字符串";消息";。有人知道我缺了什么吗?
我从Coinbase文档中了解到,错误以json的形式返回;消息";是其中一把钥匙。
正确!根据Coinbase官方文件(见https://docs.pro.coinbase.com/#errors)产生错误的调用将输出以下内容:
{
"message": "Invalid Price"
}
,因此是JSON或字典格式-无论您想以何种方式对其进行解码。在这种情况下,您可以通过dictionary_name['message']
检索错误消息的值。
另一种可能性是使用json标准库(https://docs.python.org/3/library/json.html)并通过CCD_ 2转储整个字典本身。