Kucoin API调用get_accounts()查询指定币种现货余额报错如何处理
问题原因
你传入参数的方式不符合该库的方法定义:get_accounts() 除自身实例参数外,所有可选参数仅支持关键字传参,不支持位置传参,所以直接写 get_accounts('USDT') 会触发参数数量不匹配的报错。
正确调用方式
查询指定币种的现货账户余额,直接传入关键字参数即可:
from kucoin.client import Client import config_ku client = Client(config_ku.API_KEY, config_ku.API_SECRET, config_ku.API_PASSPHRASE) # currency指定币种,account_type为trade对应现货账户 results = client.get_accounts(currency='USDT', account_type='trade') print(results)
如果仅传入currency='USDT'没有指定账户类型,会返回USDT对应的所有类型账户(主账户、现货账户、杠杆账户等)的余额信息。
兼容旧版本的备选方案
如果你使用关键字参数依然报错,大概率是本地安装的python-kucoin版本过旧,可先升级到最新版本:pip install --upgrade python-kucoin
如果不想升级库,也可以先拉取全量账户信息再过滤得到对应余额:
all_accounts = client.get_accounts() # 过滤出现货账户的USDT余额 usdt_spot_balance = [acc for acc in all_accounts if acc['currency'] == 'USDT' and acc['type'] == 'trade'] if usdt_spot_balance: print(usdt_spot_balance[0]['balance'])
注意事项
你需要在Kucoin后台为当前使用的API密钥开通「账户信息读取」权限,否则会触发权限不足的报错。
内容的提问来源于stack exchange,提问作者Ajitesh Singh Thakur
相关产品推荐
相关产品推荐

