首页 文章

Microsoft认知服务 - 计算机视觉:无效的订阅密钥

提问于
浏览
4

我正在尝试使用来自Microsoft 's Cognitive Services. However, my keys don'的Computer Vision API似乎正在工作 . 我使用该API的免费试用版创建了一个帐户,并从中获取了两个密钥 . 尝试使用ProjectOxford.Vision SDK的密钥总是产生:

Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription.

我尝试了API console,但是在 Ocp-Apim-Subscription-Key 字段中我的密钥出现了同样的错误 . 我尝试了两个按键,但两个都没有工作 . 我甚至得到了Face API的免费版本并尝试了它的console,但是它的密钥遇到了同样的问题 . 我甚至尝试过不同的数据中心,但它们似乎都返回了相同的错误 .

这需要是钥匙的一些问题,那么对吗?这对我的C#代码来说不是问题,因为控制台也不起作用 . 既然它在API控制台中失败了,我还能做什么来排除任何其他可能性呢?我不知道我还能做些什么来调试这个 . 我想重新生成我的密钥(我看到一个教程视频显示了获取API密钥的旧UI,他们曾经有过“重新生成”链接)但是我没有看到这样做的方法 .

我刚刚创建了帐户并注册了API,所以我无法超额配额 . 我还需要做些什么来启用这些键或其他东西吗?

4 回答

  • 1

    如果您使用的是从azure.microsoft.com获得的免费试用密钥 . 您需要将API endpoints 区域更改为 westcentralus . 之前的默认区域是 westus ,我认为这是无效密钥问题的原因 .

  • 2

    我通过执行以下操作设法绕过“拒绝访问”的问题:

    代替

    https://westus.api.cognitive.microsoft.com/vision/v1.0/recognizeText

    (我从认知服务测试仪表板获得此链接) .

    查看测试仪表板上的请求模式,您应该能够告诉如何使用api .

  • 1

    即使@Xuan Hu响应正确地说明了解决方案,我还是试着弄清楚如何改变终点 . 这是我的2美分:

    • 转到portal.azure.com,在您对认知服务>常规信息>结束点的订阅的仪表板中记下URL . 你需要它 .

    • 在VisionAPI示例中查找VisionServiceClient实例化的代码:

    VisionServiceClient VisionServiceCliente = new VisionServiceClient(SubscriptionKey);

    并更改包括您在Azure中找到的URL:

    VisionServiceClient VisionServiceCliente = new VisionServiceClient(SubscriptionKey, StringOfMyURLTakedFromPortal);
    

    这对我有用 .

  • 2

    仅供参考,有一篇博客文章涵盖了所有401 Access Denied场景,包括关于免费API密钥和区域特定API endpoints 的场景 . 在这里为那些发现这个SO帖子的人们添加它 - https://blogs.msdn.microsoft.com/kwill/2017/05/17/http-401-access-denied-when-calling-azure-cognitive-services-apis/ .

    Using the incorrect regional endpoint

    大多数Cognitive Services API都是特定于区域的,这意味着在创建API帐户期间,您可以选择要在其中创建帐户的区域 . 这些API具有特定于区域的 endpoints ,例如westus.api.cognitive.microsoft.com或eastus2.api .cognitive.microsoft.com和在一个区域中创建的帐户的API密钥只能使用该特定区域的 endpoints . 这意味着,如果您在美国西部创建API帐户,则无法调用eastus2.api.cognitive.microsoft.com API endpoints .

    您可以在Azure管理门户中验证区域和 endpoints .

    enter image description here

    Trial API Keys

    免费试用API密钥有30天的到期日期,对区域和版本的限制相同 . 如果您使用的是试用密钥,则可以转到https://azure.microsoft.com/en-us/try/cognitive-services/my-apis/来管理您的API密钥(如果您尚未登录,则只需单击“创建”按钮之一,您就可以通过向导登录并查看现有的API密钥),您还将看到到期日期和终点 .
    enter image description here

相关问题