Удаленный сервер возвратил ошибку: (401) Неавторизовано в Microsoft.ProjectOxford

Вызов 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?

Спасибо, Аббас


person Fazal Abbas    schedule 06.12.2017    source источник


Ответы (2)


Решено. Я просто проверяю, в какую конечную точку я попал из своей программы, используя скрипач, и это был запад. Просто создайте конечную точку Azure с западным регионом.

person maheshpardeshi    schedule 24.12.2017
comment
Действительно! Это было совсем не очевидно - скрипач помог! - person Yan Sklyarenko; 15.03.2018

Местоположение указано в самом вызове API: https://[locationpting.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.

person Ronak    schedule 07.12.2017
comment
Извините, если я не упомянул. Я хочу сделать вызов API. Я не хочу звонить в REST. Примеры REST api, которые я привел для справки. Вместо этого я хочу использовать пакет Microsoft.ProjectOxford NuGet. И я не нашел способа упомянуть регион в API. Спасибо - person Fazal Abbas; 07.12.2017