由于无效的订阅密钥,访问被拒绝(人脸API)

13

我在使用微软人脸识别 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."
  }
}

不确定我是否漏掉了什么。有人能帮我吗?非常感谢。


请访问以下网址以进入Azure认知服务API的试用页面:https://azure.microsoft.com/nl-nl/try/cognitive-services/my-apis/ - user285594
您可能需要检查一下,确保传递的是正确的密钥 - 在 Windows Azure 中查找我的 Ocp-Apim-Subscription-Key 的位置 - RBT
6个回答

13

我遇到了同样的问题。我阅读了API文档,它说明如下。

您必须在REST API调用中使用与获取订阅密钥时使用的相同区域。

首先,您必须找到订阅的位置。 为了找到订阅区域的位置,您必须进入认知服务->属性,在标签位置下,您将找到订阅区域。 请参见下方。 enter image description here

第二,您必须找到正确的终结点来进行调用。 例如,如果我想调用计算机视觉API, 我的位置是东部美国,我将使用1或2键,然后我将使用以下终结点 东部美国 - https://eastus.api.cognitive.microsoft.com/face/v1.0/detect

现在您将能够访问API。


1
大兄弟,你救了我的命 :D 谢谢 - Android is everything for me
1
谢谢,这是最糟糕的错误。 - Josh Payne

8

看起来你输入了Azure订阅ID?在Azure门户中,你可以在“密钥”下找到API密钥,如下所示:

Azure Portal 截图

它将是一个32位十六进制数字,没有连字符。


嗨@cthrash,你是对的。之前我也尝试过这两个键,但是返回了错误。现在我再试一次,它可以工作了。之前一定是犯了什么错误。感谢你指出正确的方向! - Ahmad Farhan

7

我曾经遇到过同样的问题,看起来是新生成的密钥出了问题。要解决这个问题,实际上您可以在创建 IFaceServiceClient 对象时添加您的终端节点。您可以参考下面的代码。

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

enter image description here


1
{btsdaf} - PNC

2
我遇到了一个类似的问题。我觉得这可能对一些人有帮助,所以我在这里发布它。(顺便说一句,Azure支持指向了我这里的帖子)
我试图运行Azure的ImageSearch示例文件。我参考了这些页面: 当我使用Microsoft.Azure.CognitiveServices.Search.ImageSearch向Bing搜索资源发送请求时,我收到了404未找到错误和401未授权错误的混合。我认为这可能是我的凭据或端点有问题。
在经过数小时的努力、阅读帖子和与Azure支持成员交谈后,我终于找到了问题:
  1. Azure Keys & Endpoints页面分配给我的基本Uri端点是不完整的。(https://api.bing.microsoft.com/
  2. 示例教程页面上的基本Uri端点已经过时,因为2020年10月30日发生了从Cognitive Services转换为Bing Search Services的变化。(https://api.cognitive.microsoft.com/bing/v7.0/images/search
截至2021年9月22日,Bing图像搜索的正确全局基本URI端点为:https://api.bing.microsoft.com/v7.0/images/search。希望这对任何人都有所帮助并节省时间。

1

CesarB是正确的。您必须先在Azure中创建一个认知服务资源,然后从中获取订阅密钥。 区域并不总是“westus”,这取决于您创建资源时选择的区域。您还可以在资源概述的终结点上进行检查。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接