Bybit API错误码10002求助:有效API调用get_wallet_balance仍报错
解决Bybit API调用错误(ErrCode: 10002)的方案
你的问题虽然错误码标注为"请求未授权",但日志明确指向时间戳与recv_window参数不匹配——你的请求时间戳比服务器快了约3秒,接近默认的5000ms窗口阈值,导致签名验证失败,触发了这个看似权限相关的错误。以下是具体解决步骤:
1. 手动增大recv_window参数
在初始化HTTP会话时,显式设置更大的recv_window值,给时间偏差留出足够空间。比如设置为20000(20秒):
import API_Login as apiLogin from pybit.usdt_perpetual import HTTP apiKey = apiLogin.api_key apisecret = apiLogin.api_secret session = HTTP( endpoint="https://api.bybit.com", api_key= apiKey, api_secret= apisecret, recv_window=20000 # 增大接收窗口 ) session.get_wallet_balance(coin="USDT")
2. 同步本地系统时间
Bybit API的签名验证依赖精准的时间戳,如果本地系统时间与服务器时间偏差过大,哪怕密钥正确也会触发权限类错误。请确保你的本地时间开启了自动同步:
- Windows:设置 → 时间和语言 → 自动设置时间
- macOS:系统设置 → 通用 → 日期与时间 → 自动设置
- Linux:使用
ntpdate或timedatectl命令同步网络时间
3. 验证API密钥的有效性与权限
- 确认API密钥和密钥未被篡改,复制时没有多余空格或特殊字符
- 检查密钥是否开启了"钱包余额查询"权限(在Bybit后台的API管理页面查看)
- 如果设置了IP白名单,确认当前请求的IP在白名单范围内
内容的提问来源于stack exchange,提问作者Runner
相关产品推荐
相关产品推荐

