Python3调用Bittrex API无法正确获取返回数据,需提取订单唯一ID与价格
解决Bittrex API提取OrderUuid和Price的问题
我来帮你梳理一下怎么从Bittrex的API返回数据里拿到你需要的OrderUuid和Price!从你给出的返回示例来看,数据结构是很明确的,咱们一步步来处理:
第一步:先理清API返回的结构
Bittrex的订单API返回是一个字典,核心内容在result字段里,这个字段是一个订单对象的列表,每个订单对象里就包含你要的OrderUuid和Price。先确认一下返回的结构:
{'message': '', 'success': True, 'result': [{'Limit': 5.76e-06, ..., 'Price': 0.0052416, ..., 'OrderUuid': '139858b6-d47a-4734-bb1f-a5d1...}, ...]}
第二步:编写代码提取目标字段
假设你用Python来处理API请求(这是最常见的场景),下面是一个完整的示例代码,包含请求成功校验和字段提取:
# 假设你已经通过API请求获取到了返回数据,存在response_data变量中 # 比如用requests库请求后,response_data = response.json() # 先校验API请求是否成功 if response_data.get('success'): # 取出所有订单的列表 order_list = response_data['result'] # 遍历每个订单,提取需要的字段 for order in order_list: # 直接通过键名获取对应的值 order_uuid = order['OrderUuid'] order_price = order['Price'] # 这里可以根据你的需求处理数据,比如打印、存入数据库等 print(f"订单唯一ID: {order_uuid}, 订单价格: {order_price}") else: # 如果请求失败,打印错误信息 print(f"API请求出错,错误信息: {response_data.get('message', '未知错误')}")
第三步:排查可能的问题点
如果你之前没拿到正确数据,大概率是这几个原因:
- 没有校验
success字段:如果API请求失败(比如密钥错误、权限不足),success会是False,这时候result可能为空或者不存在,直接取会报错 - 没有遍历
result列表:result是订单数组,你需要循环每个元素才能拿到单个订单的字段 - 字段名拼写错误:注意Bittrex的字段是驼峰命名,比如
OrderUuid(不是order_uuid)、Price(不是price),拼写错了会拿不到值
另外要注意,Bittrex的私有API(比如获取订单)需要正确配置API密钥,并且密钥要有订单查询的权限,如果你一直拿不到数据,也可以检查一下密钥的权限设置。
内容的提问来源于stack exchange,提问作者mine
相关产品推荐
相关产品推荐

