问题描述
请求 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 请求体不要用表单的方式进行提交