auto_trade_sys/docs/API_KEY_SETUP.md
薇薇安 86b85c2609 a
2026-01-25 11:19:39 +08:00

143 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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