常见问题

1. 账户与权限相关问题

1.1 为什么我的 API 密钥无法使用?

  • 原因

    • API 密钥可能已被禁用或删除。

  • 解决方案

    1. 登录 mefree电报机器人,检查您的 API 密钥状态是否有效。

1.2 如何为 API 密钥启用仅特定 IP 访问?

  • 解决方案: 在创建或编辑 API 密钥时,填写您想绑定的 IP 地址。这样,API 密钥仅允许来自该 IP 地址的请求,提升安全性。


2. 签名与身份验证问题

2.1 为什么返回 401 Unauthorized

  • 原因

    • MF-ACCESS-KEYMF-ACCESS-SIGN 错误。

    • 签名生成不正确。

    • 时间戳偏差超过 5 秒。

  • 解决方案

    1. 确保 MF-ACCESS-KEY 与展示的API Key一致。

    2. 确保签名按照 签名规则 生成,并验证生成逻辑。

    3. 确保 MF-ACCESS-TIMESTAMP 是标准的 UTC 时间戳,且与服务器时间偏差小于 5 秒。

2.2 签名生成如何检查?

  • 解决方案

    1. 打印拼接的待签名字符串(timestamp + method + requestPath)。

    2. 对比生成的签名和本地手动计算的签名是否一致。

      校验例子:
        timestamp = "2008-08-08T08:08:08.888Z"
        method = "GET"
        requestPath = "/api/config"
        待签名字符串 = "2008-08-08T08:08:08.888ZGET/api/config"
        SECRET_KEY = "8d3c3c07a47186c9d6d352d287263cf3"
      通过调用API例子中 generate_signature()方法得到签名值SIGN是否跟下面字符串一致:
        jY+BLq8s2cAFQmEDp1rbZw0PPG9Np67cmbmS7rhSdyw=
    3. 如果有疑问,可以使用 Postman 或 Curl 手动测试签名。


3. 请求与响应问题

3.1 为什么返回 400 Bad Request

  • 原因

    • 请求参数错误(如缺少必填字段或字段值不正确)。

    • 接口路径错误。

  • 解决方案

    1. 检查接口文档,确保请求参数和路径准确。

    2. 验证请求头中的 Content-Type 是否设置为 application/json

    3. 检查提交的数据格式是否为 JSON 格式。

3.2 为什么返回 429 Too Many Requests

  • 原因

    • 请求频率超过了 API 限制。

  • 解决方案

    1. 阅读 API 文档,了解接口的速率限制(如每秒请求次数上限)。

    2. 在代码中实现请求节流(例如每秒发送的请求数控制在限制范围内)。

    3. 使用分布式请求时,确保所有请求的总频率不超过限制。

3.3 为什么返回 500 Internal Server Error

  • 原因

    • API 服务端可能存在临时问题。

  • 解决方案

    1. 检查网络连接,确保请求已成功发送。

    2. 稍等几秒后重试。

    3. 如果问题持续,请联系 Mefree技术支持。


4. 特定接口问题

4.1 为什么无法成功下单?

  • 原因

    • 账户余额不足。

    • 订单参数不正确(如价格或数量)。

    • 账户未启用对应交易权限。

  • 解决方案

    1. 检查账户余额是否充足。

    2. 确保订单参数(如数量、周期)符合最小下单规则(参考文档中 "创建订单" 部分)。


5. 开发与调试问题

5.1 如何处理超时问题?

  • 原因

    • 网络延迟或连接不稳定。

  • 解决方案

    1. 设置较长的请求超时时间(如 timeout=30)。

    2. 对重要操作实现重试机制(如重试 2-3 次)。

    3. 检查本地网络与 Mefree API 的连通性。

5.2 如何解析 API 响应?

  • 解决方案: Mefree API 响应通常为 JSON 格式,结构如下:

    json复制代码{
      "code": "0",
      "msg": "",
      "data": {
          "key": "value"
        }
    }
    • code: 0 表示成功,非 0 表示错误。

    • data 是返回的主要内容,通过解析 JSON 获取具体数据。


6. 其他问题

6.1 为什么时间戳经常出错?

  • 原因: 本地时间与 UTC 时间不同步。

  • 解决方案: 使用 Python 的 datetime.utcnow()

6.2 如何处理 API 升级?

  • 解决方案

    1. 订阅 Mefree 的开发者公告,了解 API 的最新变化。

    2. 定期更新您的代码以适配新版本 API。

    3. 使用版本控制(如 v1)避免因升级导致兼容性问题。


7. 联系支持

如果您无法解决问题,请通过以下方式联系 Mefree 技术支持:


通过本 FAQ,希望能帮助您快速解决 Mefree API 使用中的常见问题!

Last updated