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

3.9 KiB
Raw Blame History

API密钥配置指南

错误代码 -2015 解决方案

如果遇到 APIError(code=-2015): Invalid API-key, IP, or permissions for action 错误,请按照以下步骤检查:

1. 检查API密钥状态

登录币安账户

  1. 访问 币安官网币安测试网
  2. 进入 账户API管理

检查API密钥

  • API密钥状态是否为 启用
  • API密钥是否已过期
  • API密钥是否被删除

2. 检查API密钥权限

必需权限

确保API密钥已启用以下权限

  • 启用读取 - 必须启用
  • 启用合约交易 - 必须启用(这是关键!)
  • 启用提币 - 不要启用(安全考虑)

权限设置步骤

  1. 在API管理页面点击你的API密钥
  2. 在权限设置中,确保勾选:
    • 启用读取
    • 启用合约交易
    • 启用提币(不要勾选)

3. 检查IP白名单设置

如果设置了IP限制

  1. 在API管理页面查看 IP访问限制
  2. 如果设置了IP白名单需要添加当前服务器的IP地址
  3. 或者选择 无限制(不推荐,安全性较低)

获取服务器IP

# 在服务器上执行
curl ifconfig.me
# 或
curl ipinfo.io/ip

4. 检查测试网/生产网配置

测试网 vs 生产网

  • 测试网:用于测试,不涉及真实资金
  • 生产网:真实交易环境

配置匹配

确保 config.py 中的配置与你的API密钥环境匹配

# 如果API密钥来自测试网
USE_TESTNET = True

# 如果API密钥来自生产网
USE_TESTNET = False

如何判断

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. 访问 币安测试网
  2. 使用测试网账号登录(如果没有,先注册)
  3. 进入 API管理 创建测试网API密钥
  4. 在 config.py 中设置 USE_TESTNET = True

测试网特点

  • 免费使用
  • 虚拟资金
  • 适合测试和开发
  • 不影响真实账户

9. 生产网API密钥获取

步骤

  1. 访问 币安官网
  2. 登录你的账户
  3. 进入 账户API管理创建API
  4. 选择权限:启用读取 + 启用合约交易
  5. 设置IP白名单推荐
  6. 在 config.py 中设置 USE_TESTNET = False

10. 验证配置

运行程序后,应该看到:

✓ 币安客户端连接成功 (测试网: False)
✓ API密钥权限验证通过
账户余额: 总余额 1000.00 USDT, 可用余额 1000.00 USDT

如果看到错误,请根据错误信息参考上述解决方案。