Служба преобразования текста в речь Azure возвращает 401 несанкционированных - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь использовать API для преобразования текста в речь Azure Cognitive Services, но независимо от того, что я пытаюсь, я получаю 401 Несанкционированный ответ.

Я создал ресурс Cognitive Services на своемподписка в регионе Западной Европы.Тип All Cognitive Services, статус активен.Я скачал образец CSharp с https://github.com/Azure-Samples/Cognitive-Speech-TTS и ввел в код URL-адреса Западной Европы и мой ключ подписки Cognitive Services.Когда я запускаю образец, токен доступа получается просто отлично, но запрос преобразования текста в речь возвращает 401.

URL-адрес токена: https://westeurope.api.cognitive.microsoft.com/sts/v1.0/issueToken

Сервисный URL: https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1

Я проверил правильность URL-адресов, я использую один и тот же регион и тот же, что и созданный ресурс.Я просмотрел страницу устранения неполадок (https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/troubleshooting) и получил ту же проблему 401. Я попытался запустить запрос TTS от Почтальона. Я пробовал и Key1, и Key2 с портала Azure и пытался восстановить ключ. IЯ пытался выполнить запрос также в функциях Azure, как локально, так и в облаке.

Я расшифровал токен доступа, и, похоже, в нем есть все, что нужно, насколько я могуСкажите. Единственное, что странно, поле exp - это строка, а не число (неверно для JWT). Может ли это быть ошибкой в ​​системе аутентификации, которая вызывает эту ошибку, или я делаю что-то не так? *

Запрос

POST https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1 HTTP/1.1
Authorization: Bearer <access-token>
User-Agent: TestApi
X-Microsoft-OutputFormat: audio-16khz-64kbitrate-mono-mp3
Content-Type: application/ssml+xml
Host: westeurope.tts.speech.microsoft.com
Content-Length: 209

<speak version="1.0" xml:lang="fi-FI">
  <voice name="Microsoft Server Speech Text to Speech Voice (fi-FI, HeidiRUS)" xml:lang="fi-FI">Hei, muistathan suorittaa päivän harjoitteet ajoissa.</voice>
</speak>

Ответ

HTTP/1.1 401 Unauthorized
X-MSEdge-Ref: Ref A: AD369D30DDB7466B8A77086554F9DC46 Ref B: HEL02EDGE0112 Ref C: 2018-12-10T13:03:43Z
Date: Mon, 10 Dec 2018 13:03:42 GMT
Content-Length: 0

1 Ответ

0 голосов
/ 11 декабря 2018

Чтобы использовать службу преобразования текста в речь, у вас должен быть ресурс службы речи, а не ресурс Cognitive Services.

Что делает это немного неясным, так это отсутствие конкретного упоминания в документациисделать это различие.Ресурс Cognitive Services будет отображать значение типа All Cognitive Services, которое, как можно предположить, содержит также речевую функциональность.А когда вы специально создаете ресурс речевой службы, он по-прежнему указывается как ресурс Cognitive Services.

...