Access denied due to invalid subscription key (Fac

2020-02-11 01:33发布

I am having trouble using Microsoft Face API. Below is my sample request:

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\"}"

I use the subscription id from my cognitive services account and I got below response:

{
  "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."
  }
}

Not sure if I've missed out anything there. Can someone help me on this? Very much appreciated.

5条回答
淡お忘
2楼-- · 2020-02-11 01:41

It appears that you've entered your Azure subscription ID instead? In the Azure portal, you can find the API key under 'Keys', shown below:

Azure Portal screenshot

It will be a 32-digit hexadecimal number, no hyphens.

查看更多
smile是对你的礼貌
3楼-- · 2020-02-11 01:41

I ran into the same problem. I read the API documentation and it states the following.

You must use the same region in your REST API call as you used to obtain your subscription keys.

First, you must find the location of your subscription. In order to find the location of your subscription region, you must go to Cognitive Services -> Properties under the Label Location, you will find your subscription region. See below. enter image description here

Second you must find the correct endpoint to make the call to. For example, if I want to make a call to the Computer Vision API, My location is East US, I will use either key 1 or 2, then I will use the following endpoint East US - https://eastus.api.cognitive.microsoft.com/face/v1.0/detect

You will now be able to have access to the API.

查看更多
地球回转人心会变
4楼-- · 2020-02-11 01:44

I had faced the same issue, it seems like there is some problem with the keys generated newly. To fix this you can actually add your endpoint as well, when you create the object for IFaceServiceClient. You can see the code below.

private readonly IFaceServiceClient faceServiceClient = new FaceServiceClient("your key", "Your endpoint");

enter image description here

查看更多
ゆ 、 Hurt°
5楼-- · 2020-02-11 01:49

CesarB is correct. You must create a Resource of Cognitive Service in Azure first and then get the subscription key from it. the region is not always 'westus', it really depends on what region you select when you created the resource. You can also check it on the endpoint of overview of the Resource

查看更多
干净又极端
6楼-- · 2020-02-11 01:56

Endpoint https://westeurope.api.cognitive.microsoft.com/face/v1.0

Endpoint and the subscription key must be consistent.

look at Microsoft Overview for this info!

查看更多
登录 后发表回答