web-dev-qa-db-ja.com

無効なサブスクリプションキーが原因でアクセスが拒否されました(Face API)

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

私がそこに何かを見逃したのかどうかわかりません。誰かがこれについて助けてくれますか?非常に高く評価。

11
Ahmad Farhan

代わりにAzureサブスクリプションIDを入力したようですか? Azureポータルでは、次に示すように、[キー]の下にAPIキーがあります。

Azure Portal screenshot

32桁の16進数で、ハイフンはありません。

6
cthrash

私も同じ問題に遭遇しました。私はAPIドキュメントを読み、次のように述べています。

REST API呼び出しでは、サブスクリプションキーの取得に使用したものと同じリージョンを使用する必要があります。

まず、サブスクリプションの場所を見つける必要があります。サブスクリプションリージョンの場所を見つけるには、Cognitive Services-> PropertiesラベルLocationの下に、サブスクリプションリージョンがあります。下記参照。 enter image description here

2番目に、正しいエンドポイントを見つけて呼び出しを行う必要があります。たとえば、Computer Vision APIを呼び出したい場合、私の場所は米国東部、キー1または2のいずれかを使用し、次のエンドポイント東米国を使用します- https://eastus.api.cognitive.Microsoft.com/face/v1.0/detect

これで、APIにアクセスできるようになります。

10
CesarB

同じ問題に直面していましたが、新しく生成されたキーに問題があるようです。これを修正するには、IFaceServiceClientのオブジェクトを作成するときに、エンドポイントも実際に追加できます。以下のコードを見ることができます。

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

enter image description here

7
Sibeesh Venu

CesarBは正しいです。まずAzureでCognitive Serviceのリソースを作成し、次にそこからサブスクリプションキーを取得する必要があります。リージョンは常に「westus」であるとは限りません。リソースを作成したときに選択したリージョンによって異なります。リソースの概要のエンドポイントで確認することもできます

1
Yunpeng Zhang

エンドポイント https://westeurope.api.cognitive.Microsoft.com/face/v1.

エンドポイントとサブスクリプションキーは一致している必要があります。

この情報については、Microsoft概要をご覧ください!

0
Samet ÖZTOPRAK