3.9 KiB
3.9 KiB
API密钥配置指南
错误代码 -2015 解决方案
如果遇到 APIError(code=-2015): Invalid API-key, IP, or permissions for action 错误,请按照以下步骤检查:
1. 检查API密钥状态
登录币安账户
检查API密钥
- ✅ API密钥状态是否为 启用
- ✅ API密钥是否已过期
- ✅ API密钥是否被删除
2. 检查API密钥权限
必需权限
确保API密钥已启用以下权限:
- ✅ 启用读取 - 必须启用
- ✅ 启用合约交易 - 必须启用(这是关键!)
- ❌ 启用提币 - 不要启用(安全考虑)
权限设置步骤
- 在API管理页面,点击你的API密钥
- 在权限设置中,确保勾选:
- 启用读取
- 启用合约交易
- 启用提币(不要勾选)
3. 检查IP白名单设置
如果设置了IP限制
- 在API管理页面查看 IP访问限制
- 如果设置了IP白名单,需要添加当前服务器的IP地址
- 或者选择 无限制(不推荐,安全性较低)
获取服务器IP
# 在服务器上执行
curl ifconfig.me
# 或
curl ipinfo.io/ip
4. 检查测试网/生产网配置
测试网 vs 生产网
- 测试网:用于测试,不涉及真实资金
- 生产网:真实交易环境
配置匹配
确保 config.py 中的配置与你的API密钥环境匹配:
# 如果API密钥来自测试网
USE_TESTNET = True
# 如果API密钥来自生产网
USE_TESTNET = False
如何判断
- 测试网API密钥:在 testnet.binancefuture.com 创建
- 生产网API密钥:在 www.binance.com 创建
5. 验证API密钥
测试连接
运行程序后,查看日志输出:
✓ 币安客户端连接成功 (测试网: False)
✓ API密钥权限验证通过
如果看到这些信息,说明API密钥配置正确。
6. 常见问题排查
问题1:连接成功但无法获取余额
原因:API密钥没有合约交易权限 解决:在币安API管理中启用"合约交易"权限
问题2:IP地址错误
原因:服务器IP不在白名单中 解决:添加服务器IP到白名单,或取消IP限制
问题3:测试网/生产网不匹配
原因:USE_TESTNET 配置与API密钥环境不一致 解决:检查并修改 config.py 中的 USE_TESTNET 设置
问题4:API密钥已过期
原因:API密钥设置了过期时间 解决:创建新的API密钥或延长过期时间
7. 安全建议
- 不要启用提币权限 - 即使API密钥泄露,也无法提走资金
- 使用IP白名单 - 限制API密钥只能从特定IP访问
- 定期更换API密钥 - 建议每3-6个月更换一次
- 不要在代码中硬编码密钥 - 使用环境变量
- 不要将API密钥提交到Git - 确保 .gitignore 包含 config.py
8. 测试网API密钥获取
步骤
- 访问 币安测试网
- 使用测试网账号登录(如果没有,先注册)
- 进入 API管理 创建测试网API密钥
- 在 config.py 中设置
USE_TESTNET = True
测试网特点
- 免费使用
- 虚拟资金
- 适合测试和开发
- 不影响真实账户
9. 生产网API密钥获取
步骤
- 访问 币安官网
- 登录你的账户
- 进入 账户 → API管理 → 创建API
- 选择权限:启用读取 + 启用合约交易
- 设置IP白名单(推荐)
- 在 config.py 中设置
USE_TESTNET = False
10. 验证配置
运行程序后,应该看到:
✓ 币安客户端连接成功 (测试网: False)
✓ API密钥权限验证通过
账户余额: 总余额 1000.00 USDT, 可用余额 1000.00 USDT
如果看到错误,请根据错误信息参考上述解决方案。