【问题标题】:Coinbase API returning "message" but no actual messageCoinbase API 返回“消息”但没有实际消息
【发布时间】:2020-12-19 15:27:56
【问题描述】:

使用 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 的形式返回,其中“消息”是键之一。

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

【问题讨论】:

    标签: python coinbase-api cryptocurrency


    【解决方案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) 转储整个字典本身。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      • 2018-04-24
      • 2015-07-17
      • 2017-07-04
      • 1970-01-01
      • 2018-08-20
      • 2021-02-10
      相关资源
      最近更新 更多