使用Azure免费层测试必应搜索API时突遭401 PermissionDenied错误求助
必应搜索API 401 PermissionDenied及指标不匹配问题排查
- 密钥错误或过期:免费层密钥可能存在有效期限制,或者你替换密钥时不小心输错了字符(比如空格、大小写,Azure密钥区分大小写)。重新复制Azure门户里的密钥替换代码中的旧密钥再测试。
- API端点不匹配:必应搜索API有不同区域的端点,如果代码里的请求URL和密钥绑定的区域不一致,会触发权限拒绝,这类无效请求不会被计入指标。核对代码里的请求URL和Azure门户中API实例的对应端点是否一致。
- 配额问题或统计延迟:哪怕只调用几次,也可能出现免费层每日配额被误扣,或者Azure的用量统计有延迟。去Azure门户的API实例“用量+配额”页面确认剩余配额:如果显示耗尽,等次日重置后再试;如果还有剩余,可能是统计延迟导致指标没更新。
- 请求头格式错误:必应搜索API要求请求头必须正确携带
Ocp-Apim-Subscription-Key字段,检查代码里的请求头是否拼写正确、没有遗漏。比如PHP curl请求中,确保CURLOPT_HTTPHEADER数组里的键值对格式正确,没有多余空格。 - 资源与密钥不匹配:可能你误用了其他Azure服务的密钥(比如认知服务下的其他API密钥),而非必应搜索API资源的密钥。确认Azure门户里必应搜索API资源下的密钥,和代码中使用的是同一个。
- 网络拦截导致请求异常:如果请求经过代理或防火墙,可能请求头里的密钥被篡改或丢失,API无法识别身份,这类请求也不会被计入指标。试试在无代理的本地环境直接测试请求,看是否能正常调用。
内容的提问来源于stack exchange,提问作者MastaBaba
相关产品推荐
相关产品推荐

