鉴权失败报错
当 API 请求返回 401 错误,表示鉴权失败。以下是常见原因及解决方法。
常见错误信息
{
"error": {
"message": "Incorrect API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}原因与解决
1. API Key 拼写错误
最常见的原因是 Key 复制时多了空格或换行符。
解决:
- 回到控制台密钥管理页面重新复制 Key
- 确认 Key 未被意外截断或修改
2. 未传递 Authorization 头
请求中缺少 Authorization 头。
# 错误
curl https://ai.amaxsmp.com/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4o", ...}'
# 正确
curl https://ai.amaxsmp.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-d '{"model": "gpt-4o", ...}'3. Authorization 头格式不正确
正确格式:Bearer {API Key},中间有一个空格。
# 错误 - 缺少 Bearer
-H "Authorization: sk-xxx"
# 错误 - Bearer 拼写错误
-H "Authorization: bearer sk-xxx"
# 正确
-H "Authorization: Bearer sk-xxx"4. Key 已被禁用或删除
解决:登录控制台 → 密钥管理,检查 Key 状态。如已禁用可重新启用,如已删除则需创建新 Key。
5. 使用了错误的 Key
你可能有多个 Key,确保请求中用的是正确的 Key。
使用 SDK 时的检查
# 检查是否正确设置了 Key
from openai import OpenAI
client = OpenAI(
base_url="https://ai.amaxsmp.com/v1",
api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # 确认这里没有多余空格
)
# 建议从环境变量读取,避免硬编码
import os
client = OpenAI(
base_url="https://ai.amaxsmp.com/v1",
api_key=os.environ.get("AMAX_API_KEY")
)排查步骤总结
- 确认 Key 从控制台完整复制,无多余空格或换行
- 确认
Authorization头格式为Bearer {Key} - 登录控制台检查 Key 是否处于启用状态
- 若仍无法解决,尝试创建新 Key 测试