You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python连接Binance Spot Testnet API失败,报API Secret缺失错误求助

解决Binance测试网API Secret缺失的AssertionError

错误根源

报错AssertionError: API Secret required for private endpoints本质是代码未正确读取到API密钥,导致api_secret为None。调用get_account()这类需要签名的私有接口时,必然触发断言失败。

解决步骤

  • 先验证环境变量是否生效
    打开运行代码的终端,直接打印环境变量:

    • Windows CMD:
      echo %KEY%
      echo %SECRET%
      
    • Windows PowerShell:
      $env:KEY
      $env:SECRET
      

    如果没有输出正确密钥,说明环境变量未设置好,临时设置方式:

    • CMD:
      set KEY=你的Binance测试网API_KEY
      set SECRET=你的Binance测试网API_SECRET
      
    • PowerShell:
      $env:KEY="你的Binance测试网API_KEY"
      $env:SECRET="你的Binance测试网API_SECRET"
      

    设置完成后重新运行代码即可(注意:该临时设置仅在当前终端会话有效)。

  • 测试阶段临时替代方案
    若只是测试不想折腾环境变量,可直接在代码中硬编码密钥(仅限测试,正式上线绝对禁止):

    import ccxt
    import os
    from binance.client import Client
    
    # 直接赋值测试网密钥
    api_key = "你的Binance测试网API_KEY"
    api_secret = "你的Binance测试网API_SECRET"
    client = Client(api_key, api_secret, testnet=True)  # 用testnet参数更规范
    
    print(client.get_account())
    
  • 确认密钥正确性

    • 确保使用的是Binance Spot Testnet的密钥,而非主网密钥
    • 登录Binance测试网后台,检查密钥是否开启了「读取账户信息」权限

代码优化点

原代码手动修改API_URL可替换为官方推荐的testnet=True参数,初始化Client时直接指定:

client = Client(api_key, api_secret, testnet=True)

这样更不易出错,也符合库的规范用法。

内容的提问来源于stack exchange,提问作者Umemmut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:25:20