远程服务器返回错误:(401)Microsoft.ProjectOxford中未经授权

时间:2017-12-06 20:19:31

标签: azure-cognitive-services

调用GetSentimentAsync失败,错误401,如标题

中所述
var client = new SentimentClient(Constants.API_KEY);
var request = new SentimentRequest();
var response = await client.GetSentimentAsync(request);

我在Azure中生成密钥的资源组有位置"美国中南部",我的位置是科罗拉多州,我的订阅是" Visual Studio Enterprise"

我用这个页面来测试我的服务 https://westus.dev.cognitive.microsoft.com/docs/services/TextAnalytics.V2.0/operations/56f30ceeeda5650db055a3c7

如果我使用https://westus.dev.cognitive.microsoft.com/docs/services/TextAnalytics.V2.0/operations/someID链接来测试呼叫。它给出了401。

如果我使用https://southcentralus.dev.cognitive.microsoft.com/docs/services/TextAnalytics.V2.0/operations/someID/,则它会给出200。

似乎问题与我在Azure中创建新资源时选择的区域有关。似乎默认区域不是我选择的,美国中南部

那么,我该怎么办才能使我的通话成功?我在哪里可以提到API调用区域?

由于 阿巴斯

2 个答案:

答案 0 :(得分:1)

解决了它。我只是检查我使用fiddler从我的程序中找到的终点是什么,它是westus只需用westus区域创建Azure端点。

答案 1 :(得分:0)

位置位于API调用本身:https://[location].api.cognitive.microsoft.com/text/analytics/v2.0/sentiment。在您的情况下,您应该使用southcentralus代替[location]。

POST请求的示例在此页面上:https://southcentralus.dev.cognitive.microsoft.com/docs/services/TextAnalytics.V2.0/operations/56f30ceeeda5650db055a3c9/console