无法使用Azure Face API:遭遇Forbidden错误求助
Azure Face API 403 Forbidden 异常排查方案
密钥与端点验证
检查Authenticate方法传入的endpoint和key是否准确:- 确认密钥是Azure门户中Face资源的密钥1/密钥2,不要误用资源ID或其他无关字符串
- 端点需与密钥所属区域完全匹配,比如国际区端点格式为
https://<区域>.api.cognitive.microsoft.com,中国区为https://<区域>.cognitiveservices.azure.cn,两者不能混用
资源状态与配额检查
人脸检测功能默认无需特殊权限,但需确认:- Azure门户中Face资源是否处于正常启用状态,未因欠费、违规被禁用
- 查看资源的「使用情况和配额」页面,确认调用次数未超出免费/付费配额上限
请求参数修正
你的代码中传入的图片URL是容器地址https://csdx.blob.core.windows.net/resources/Face/Images/,而非具体图片文件路径,API无法解析有效图片内容,可能触发权限拦截。需修改为具体的图片URL,例如https://csdx.blob.core.windows.net/resources/Face/Images/sample-face.jpg模型与区域兼容性
确认RecognitionModel.Recognition04和DetectionModel.Detection03与你的资源区域兼容,部分旧区域可能不支持最新模型,可尝试降级为Recognition03或Detection02测试
修正后的代码示例:
public static IFaceClient Authenticate(string endpoint, string key) { return new FaceClient(new ApiKeyServiceClientCredentials(key)) { Endpoint = endpoint }; } // 替换为自己的有效端点和密钥 IFaceClient client = Authenticate("https://your-region.api.cognitive.microsoft.com", "your-valid-key"); // 替换为具体的图片文件URL IList<DetectedFace> detectedFaces = client.Face.DetectWithUrlAsync( "https://csdx.blob.core.windows.net/resources/Face/Images/sample-face.jpg", recognitionModel: RecognitionModel.Recognition04, detectionModel: DetectionModel.Detection03, returnFaceAttributes: new List<FaceAttributeType> { FaceAttributeType.QualityForRecognition } ).Result;
内容的提问来源于stack exchange,提问作者techno
相关产品推荐
相关产品推荐

