Я пытаюсь использовать API преобразования текста в речь Azure Cognitive Services, но, что бы я ни пытался, я получаю ответ 401 Неавторизованный.
Я создал ресурс 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, и попытался восстановить ключ. Я пробовал выполнить запрос также в Функциях 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