Error code: 401 - {'error': {'message': 'Incorrect API key provided: sk-qtKGh***...
🚨 错误信息
openai.AuthenticationError: Error code: 401 - {'error': {'message': 'Incorrect API key provided: sk-qtKGh***************************************xymX. You can find your API key at https://platform.openai.com/account/api
🤖 AI解决方案
代码糕手 - 报错分析报告
1. 错误翻译
原文:openai.AuthenticationError: Error code: 401 - {'error': {'message': 'Incorrect API key provided: sk-qtKGh***************************************xymX. You can find your API key at https://platform.openai.com/account/api-keys.'}}
译文:OpenAI身份验证错误:错误代码 401 - {'error': {'message': '提供的API密钥不正确:sk-qtKGh***************************************xymX。您可以在 https://platform.openai.com/account/api-keys 找到您的API密钥。'}}
2. 原因分析
这是一个身份验证失败错误,核心原因是:- API密钥不正确:您使用的API密钥
sk-qtKGh...xymX无效或已过期 - HTTP状态码401:表示未经授权,服务器拒绝了您的请求
- 密钥可能被错误复制粘贴(包含了空格或特殊字符)
- 密钥可能已过期或已被撤销
- 密钥所属的组织可能已被禁用
- 密钥可能属于错误的OpenAI环境(如测试环境密钥用于生产环境)
具体问题:
3. 解决方案
方法1:检查并修复Python代码中的API密钥
import openai
# ❌ 错误示例
openai.api_key = "sk-qtKGh***************************************xymX" # 这是错误的密钥
# ✅ 正确做法
# 1. 从安全的环境变量中获取(推荐)
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
# 2. 或者从配置文件读取
with open('.env', 'r') as f:
openai.api_key = f.read().strip()
# 3. 或者直接设置正确的新密钥
openai.api_key = "sk-你的正确API密钥" # 替换为实际的正确密钥
方法2:获取新的API密钥步骤
方法3:验证密钥是否有效
import openai
# 设置密钥后,测试简单的API调用
openai.api_key = "你的新API密钥"
try:
# 简单的测试调用
response = openai.Completion.create(
engine="text-davinci-003",
prompt="Hello",
max_tokens=5
)
print("✅ API密钥验证成功!")
except Exception as e:
print(f"❌ 密钥验证失败:{e}")
️ 4. 预防措施
最佳实践建议:
OPENAI_API_KEY
- 使用配置文件(如 .env 文件)
- 使用密钥管理服务(如AWS Secrets Manager、Azure Key Vault)
# .env 文件示例
OPENAI_API_KEY=sk-你的正确API密钥
OPENAI_ORG_ID=org-你的组织ID
# .gitignore 中添加 .env,避免密钥泄露到版本控制
开发工具推荐:
pip install python-dotenv
from dotenv import load_dotenv
import os
load_dotenv() # 加载 .env 文件
openai.api_key = os.getenv("OPENAI_API_KEY")
pip install --upgrade openai
提示:如果使用GitHub等代码托管平台,请确保已将包含密钥的文件添加到 .gitignore,防止密钥意外泄露。