如何解决Microsoft.Azure.CognitiveServices.Language.SpellCheck NuGet 不适用于 Bing Search API未经授权
我将 .net-core3.1 与 Microsoft.Azure.CognitiveServices.Language.SpellCheck NuGet 包一起使用。我已经阅读了关于 Bing/cognitive API 的整个文档,但我仍然觉得它很混乱,因为有多个 API 做同样的事情。
我从 portal.azure.com 上的 Microsoft.BingSearch 获得了 API 密钥,我正在使用免费订阅。然而,我的订阅应该是有效的,因为我已经在使用他们的 LUIS 没有问题。 Azure 链接到 https://docs.microsoft.com/en-us/bing/search-apis/bing-spell-check/quickstarts/rest/python 以便快速入门,但这对我不起作用(“https://api.bing.microsoft.com/v7.0/SpellCheck”网址给我“NotFound”,使用下面的代码和我的键)。
代码示例:
var x = new SpellCheckClient(new ApiKeyServiceClientCredentials("<API_KEY>"));
// endpoints I tried:
// x.Endpoint = "https://westeurope.api.bing.microsoft.com/v7.0/spellcheck";
// x.Endpoint = "https://cognitiveservices.azure.com/bing/v7.0";
// x.Endpoint = "https://api.bing.microsoft.com"; -- Not found
// x.Endpoint = "https://cognitiveservices.azure.com"; -- The requested name is valid,but no data of the requested type was found.
var y = await x.SpellCheckerWithHttpMessagesAsync("gona");
使用默认端点会给我未经授权的错误代码。
有人知道如何使用这个 API 吗?
解决方法
你说得对,端点似乎是错误的。正如您在文档 here 中看到的,关于这个值:
支持的认知服务端点(协议和主机名,用于 例如:“https://westus.api.cognitive.microsoft.com”, “https://api.cognitive.microsoft.com”)。
因此,如果您使用的是西欧,则应该是“https://westus.api.cognitive.microsoft.com”
您还可以通过在此处直接测试控制台来检查您的 API 密钥:https://westeurope.dev.cognitive.microsoft.com/docs/services/5f7d486e04d2430193e1ca8f760cd7ed/operations/57855119bca1df1c647bc358
- 选择您的资源区域(在 Azure 门户上创建密钥期间选择的区域)
- 在“Ocp-Apim-Subscription-Key”字段中设置您的键值
- 编辑查询参数中的“文本”值
- 运行请求
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。