调用360智脑接口返回401/403/404是因密钥、认证、url、模型或权限配置错误:必须用私钥生成bearer token签名,url须为https://api.360.cn/v1,model需与后台授权完全一致,并检查ip白名单和配额。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

调用360智脑开放平台接口时返回401 Unauthorized、403 Forbidden或404 Not Found,说明请求未通过身份校验、权限不足或目标端点根本不存在——这不是网络抖动问题,而是配置链路上某个环节彻底断开。
确认是否真有合法API密钥
登录360智脑开放平台→进入「控制台」→点击左侧「应用管理」→找到你创建的应用→展开「API密钥」区域。注意:密钥分「公钥(Public Key)」和「私钥(Private Key)」两种,【调用API必须使用私钥,公钥仅用于前端JS签名】。若页面显示“密钥已禁用”或“未生成”,点击右侧「重新生成」按钮,旧密钥将立即失效,新密钥需手动复制保存——网页关闭后无法再次查看明文。
这一步不能跳过。网上流传的“测试密钥”或“demo-key-xxx”全部失效,且多数已被平台拉黑,硬填只会触发风控拦截。
检查请求头与认证方式是否匹配
360智脑开放平台强制要求使用Bearer Token认证,且Token必须由私钥经HMAC-SHA256算法生成,不是简单拼接字符串。
方法一:用官方SDK生成(推荐)
下载最新版PHP SDK→解压后require vendor/autoload.php→实例化Client类时传入你的App ID和私钥→调用sign()方法自动构造Authorization头。手动拼Authorization: Bearer xxx会导致签名不一致,服务端直接拒收。
方法二:手动生成Token(仅调试用)
取当前时间戳(秒级,非毫秒)+换行符+\n+HTTP方法大写(如POST)+\n+请求路径(如/v1/chat/completions)+\n+Content-Type值(application/json)+\n+请求体JSON字符串(不含空格)→用私钥对这段字符串做HMAC-SHA256哈希→Base64编码→拼入Authorization头。漏掉任意一个换行符或大小写错误,签名即失效。
【注意:签名中Content-Type必须严格等于请求头中的值,哪怕多一个空格也不行】
验证请求URL与模型名称是否准确
第一步:打开开放平台文档页,确认你调用的接口路径是否属于当前已开通的模型权限范围。例如,/v1/chat/completions仅对「360zhinao2-o1.5」模型开放,而/v1/embeddings只支持「360zhinao2-embedding」——填错model参数会返回404,而非提示“模型不可用”。
第二步:检查Base URL是否为https://api.360.cn/v1,不是zhineng.360.cn、open.360.cn或ai.360.cn。后者全部返回404或重定向到登录页。
第三步:确认请求体中model字段值与开放平台后台「模型授权」列表完全一致,包括大小写和连字符。比如授权列表里写的是360zhinao2-o1.5,就不能填360zhinao2-o1_5或360zhinao2-o15。
排查IP白名单与配额限制
① 登录开放平台→「应用管理」→点击应用名称→「安全设置」→检查「IP白名单」是否开启。若开启,当前服务器出口IP必须在列表中,否则直接返回403 Forbidden。本地调试时可临时关闭白名单,上线前务必恢复。
② 进入「用量统计」页,查看「今日调用次数」和「剩余Token额度」。免费版默认1000次/日,超限后所有请求返回429 Too Many Requests。额度次日0点重置,不累计。
③ 若使用OneAPI等代理层,需确认其转发时未篡改Host头或删除X-Request-ID等必要字段——360网关会校验这些字段,缺失即判为非法请求。











