调用Delta Exchange Python API报401未授权错误如何解决
Delta Exchange测试网API调用返回401未授权的排查方案
401错误本质是服务端判定请求鉴权不通过,按以下优先级逐一排查即可解决:
1. 公开接口携带无效鉴权信息
get_product()、get_assets()属于公开的基础信息/行情接口,本身不需要API鉴权就能正常访问。初始化客户端时如果传入无效的密钥对,客户端会默认给所有请求(包括公开接口)附加签名,服务端校验签名不通过就会直接返回401。
先运行以下最小测试代码验证基础连通性:
from delta_rest_client import DeltaRestClient # 调用公开接口无需传入api_key、api_secret delta_client = DeltaRestClient( base_url='https://testnet-api.delta.exchange' ) product = delta_client.get_product(27) print("产品信息获取成功:", product) assets = delta_client.get_assets() print("资产列表获取成功:", assets)
如果上述代码能正常返回结果,说明网络、接口路径、测试网服务本身都正常,问题完全出在传入的API密钥配置上。
2. API密钥环境不匹配
测试网和主网的账户体系、API密钥体系完全独立不互通:
- 如果是在主网账户后台创建的API Key/Secret,哪怕值复制完全正确,拿到测试网环境调用也会直接返回401
- 需要单独登录Delta Exchange测试网账户后台,重新生成测试网专属的API密钥对使用
3. 本地时间不同步导致签名失效
Delta API的HMAC签名规则会绑定请求发起的时间戳,如果本地系统时间和UTC标准时间偏差超过30秒,服务端会直接判定签名无效返回401。Windows系统可在「设置-时间和语言-日期和时间」中点击「立即同步」校准时间后重试。
4. API密钥配置异常
逐一检查密钥配置项:
- 复制api_key、api_secret时不要误带首尾空格、换行符
- 确认密钥处于启用状态,没有被手动禁用
- 如果设置了IP白名单,确认当前发起请求的出口IP在白名单列表内,测试阶段可临时关闭白名单排除限制
内容的提问来源于stack exchange,提问作者Faheem Sameer
相关产品推荐
相关产品推荐

