Coinbase API 返回“消息”但没有实际消息

时间:2020-12-19 15:27:56

标签: python coinbase-api cryptocurrency

使用 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() 返回该特定产品的所有订单填充的生成器。

我的问题是,在某些产品上,生成器(填充)返回的迭代(填充)实际上是字符串“消息”。根据我上面的代码,这自然会产生错误。

AttributeError: 'str' object has no attribute 'items'

我从 Coinbase 文档中了解到错误以 json 的形式返回,其中“消息”是关键之一。

如果这实际上只是各种错误消息、完成消息或其他任何内容的关键...我希望能够看到消息的实际内容,而不仅仅是字符串“消息”。有人知道我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

<块引用>

我从 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) 并通过 json.dumps(dictionary_name) 转储整个字典本身。

相关问题