我在使用Microsoft Face API时遇到问题。以下是我的示例请求:
curl -v -X POST "https://westus.api.cognitive.microsoft.com/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=age,gender" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: 1xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxd" --data-ascii "{\"url\":\"http://www.mrbeantvseries.co.uk/bean3.jpg\"}"
我使用来自我的认知服务帐户的订阅ID,我收到了以下回复:
{
"error": {
"code": "Unspecified",
"message": "Access denied due to invalid subscription key. Make sure you are subscribed to an API you are trying to call and provide the right key."
}
}
不确定我是否错过了那里的任何东西。有人可以帮我吗?非常感谢。
答案 0 :(得分:9)
我遇到了同样的问题。我阅读了API文档,并说明了以下内容。
您必须在REST API调用中使用与获取订阅密钥相同的区域。
首先,您必须找到订阅的位置。 要查找订阅区域的位置,您必须转到认知服务 - >标签位置下的属性,您将找到您的订阅区域。 见下文。
其次,您必须找到正确的端点才能拨打电话。 例如,如果我想调用Computer Vision API, 我的位置是美国东部,我将使用键1或2,然后我将使用以下端点 美国东部 - https://eastus.api.cognitive.microsoft.com/face/v1.0/detect
您现在可以访问API。
答案 1 :(得分:7)
我遇到了同样的问题,似乎新生成的密钥存在一些问题。要解决此问题,您还可以在为IFaceServiceClient
创建对象时添加端点。你可以看到下面的代码。
private readonly IFaceServiceClient faceServiceClient = new FaceServiceClient("your key", "Your endpoint");
答案 2 :(得分:6)
答案 3 :(得分:0)
答案 4 :(得分:0)
CesarB是正确的。您必须首先在Azure中创建认知服务资源,然后从中获取订阅密钥。 该区域并不总是“ westus”,它实际上取决于创建资源时选择的区域。您也可以在资源概述的端点上对其进行检查