webentwicklung-frage-antwort-db.com.de

Zugriff wegen ungültigem Abonnementschlüssel verweigert (Face API)

Ich habe Probleme bei der Verwendung der Microsoft Face-API. Unten ist meine Beispielanfrage:

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

Ich verwende die Abonnement-ID aus meinem Konto für kognitive Dienste und erhielt folgende Antwort:

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

Nicht sicher, ob ich dort etwas verpasst habe. Kann mir da jemand weiterhelfen? Sehr geschätzt.

11
Ahmad Farhan

Es scheint, dass Sie stattdessen Ihre Azure-Abonnement-ID eingegeben haben? Im Azure-Portal finden Sie den API-Schlüssel unter "Schlüssel" (siehe unten):

 Azure Portal screenshot

Es ist eine 32-stellige Hexadezimalzahl, keine Bindestriche.

6
cthrash

Ich bin auf das gleiche Problem gestoßen. Ich habe die API-Dokumentation gelesen und besagt Folgendes: 

Sie müssen dieselbe Region in Ihrem API-Aufruf REST verwenden, die Sie zum Abrufen Ihrer Abonnementschlüssel verwendet haben.

Zuerst müssen Sie den Ort Ihres Abonnements finden. Um den Ort Ihres Abonnementbereichs zu finden, müssen Sie Cognitive Services -> Properties unter dem Label Location aufrufen. Dort finden Sie Ihren Abonnementbereich . Siehe unten .  enter image description here

Zweitens müssen Sie den richtigen Endpunkt finden, um den Anruf tätigen zu können. Wenn ich beispielsweise die Computer Vision-API aufrufen möchte, Mein Standort ist Ost-USA, ich werde entweder Schlüssel 1 oder 2 verwenden, dann den folgenden Endpunkt Ost US - https://eastus.api.cognitive.Microsoft.com/face/v1.0/detect

Sie können nun auf die API zugreifen.

8
CesarB

Ich war mit demselben Problem konfrontiert, es scheint so, als ob ein Problem mit den neu generierten Schlüsseln vorliegt. Um dies zu beheben, können Sie Ihren Endpunkt auch hinzufügen, wenn Sie das Objekt für IFaceServiceClient erstellen. Sie können den Code unten sehen.

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

 enter image description here

7
Sibeesh Venu

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

Endpunkt und der Abonnementschlüssel müssen konsistent sein.

sehen Sie sich Microsoft Overview für diese Informationen an!

0
Samet öztoprak

CesarB ist richtig. Sie müssen zuerst eine Ressource des kognitiven Diensts in Azure erstellen und dann den Abonnementschlüssel daraus abrufen. Die Region ist nicht immer 'Westus', sie hängt wirklich davon ab, welche Region Sie beim Erstellen der Ressource ausgewählt haben. Sie können es auch am Endpunkt der Übersicht der Ressource überprüfen

0
Yunpeng Zhang