“鉴权失败”主因是authorization字段格式错误或api key未生效:需确保header为“bearer sk-xxx”(单空格)、key无空格/换行,并先在智谱开放平台「在线体验」中实测模型权限;模型名须与平台下拉框完全一致,如glm-4-air,大小写和短横线均不可错。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

智谱清言API调用时弹出“鉴权失败”,不是密钥写错了就是请求头没对上,根本不用猜模型或网络问题——先盯死Authorization字段和Key本身,这两处错一个,401就稳稳报给你看。
确认API Key是否真正生效
别直接往Dify里填,先去智谱开放平台实测:打开https://www.php.cn/link/4002628957f70084918b0d02535b3bca → 登录 → 左侧点「在线体验」→ 选中你要用的模型(比如glm-4-air)→ 粘贴你的Key → 输入“你好”发送。
如果返回正常对话,说明Key有效且该模型已开通权限;【若提示“权限不足”或“模型不可用”,必须手动提交模型权限申请,审核需1–2工作日】。
这一步跳过,后面所有配置都是白忙活。
检查Authorization请求头格式
智谱要求Authorization头严格为:Bearer sk-xxx(注意Bearer和Key之间是单个空格,不能多不能少)。
常见错误包括:写成Bearer Bearer sk-xxx、Bearer: sk-xxx、Bearer sk-xxx\n(末尾带换行)、环境变量里Key被引号包裹导致实际传入的是"sk-xxx"。
PHP/cURL示例中必须用trim($token)去首尾空格;Python requests里headers字典要写成{"Authorization": f"Bearer {api_key.strip()}"}。
核对模型名称拼写与大小写
方法一:在Dify「模型供应商」→「智谱AI」配置页中,「模型名称」字段必须和智谱开放平台「在线体验」下拉框里显示的名称完全一致。
例如:glm-4-air、glm-4-flash、glm-4-plus——短横线不能丢,大小写不能改,glm4air或GLM-4-AIR会直接触发Authentication failed。
方法二:打开智谱开放平台「我的应用」→「模型权限」页面,逐个勾选你打算使用的模型,确保状态是“已开通”。
排查401错误的三步定位法
第一步:用curl命令直连智谱API端点,绕过Dify和SDK干扰:
curl -X POST "https://www.php.cn/link/4002628957f70084918b0d02535b3bcaapi/paas/v3/model-api/glm-4-air/invoke" \
-H "Authorization: Bearer sk-xxx" \
-H "Content-Type: application/json" \
-d '{"prompt":"测试","max_tokens":10}'
第二步:观察返回状态码和body。401且含invalid api key,说明Key本身无效或未传;401但含no api key provided,说明请求头根本没送过去。
第三步:检查代理或网关是否过滤了Authorization头——有些企业Nginx配置默认丢弃带下划线或特殊字符的header,而Authorization恰好被误杀。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










