【403】authentication failed

问题描述

请求 Avata API 报错:

  • HTTP Status:403
  • 错误描述:authentication failed

报错示例

{
    "error": {
        "code_space": "NFTP-OPEN-API",
        "code": "FORBIDDEN",
        "message": "authentication failed"
    }
}

解决方案

  • 首先考虑签名问题,参考「接入参数示例」,常见签名错误原因:

    • 环境错误,用测试环境的 API_Key 请求生产环境
    • 签名方法入参错误,Query 参数必须全都是字符串类型,Body 参数的类型需严格符合 API 文档要求
    • 个别开发语言,对于特殊字符的编码规范不同
  • fastjson 依赖的版本问题,建议使用文档中提供的(1.2.79)版本。或者较低版本。

    • 以上 fastjson 版本问题会导致哈希计算时,参数排序不符合要求,导致签名失败。
  • 检查请求头中的 Content-Type 有没有设置成 application/json,然后检查传入参数是否是 JSON 格式

  • body 请求体不要用表单的方式进行提交