Проблема аутентификации речевого сервиса в Bot Framework V4 - PullRequest
0 голосов
/ 20 марта 2020

Получение следующей ошибки при попытке получить токен из Azure Speech Service. 'https://brazilsouth.api.cognitive.microsoft.com/sts/v1.0/issuetoken 401 (доступ запрещен)'. Вот как я запрашиваю токен через JavaScript: const res = await fetch('https://brazilsouth.api.cognitive.microsoft.com/sts/v1.0/issuetoken', { method: 'POST', headers: { Authorization: 'Bearer ' + 'MY_SPEECH_SERVICES_SUBSCRIPTION_KEY'}});<br> const { authorizationToken } = await res.json();<br> webSpeechPonyfillFactory = await window.WebChat.createCognitiveServicesSpeechServicesPonyfillFactory({ authorizationToken, region }); Мой бот работает нормально, если я получаю токен вручную через Windows PowerShell. Что может быть не так? Спасибо заранее

1 Ответ

0 голосов
/ 20 марта 2020

Обмен способом получения токена через javascript. Переменная data будет хранить токен. Спасибо всем за поддержку!

`<!DOCTYPE html>
<html>
<head>
    <title>JSSample</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
    $(function() {
        var params = {
            // Request parameters
        };

        $.ajax({
            url: "https://brazilsouth.api.cognitive.microsoft.com/sts/v1.0/issuetoken" + $.param(params),
            beforeSend: function(xhrObj){
                // Request headers
                xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","MY_SPEECH_SERVICES_SUBSCRIPTION_KEY");
            },
            type: "POST",
            // Request body
            data: "{body}",
        })
        .done(function(data) {
            alert(data);
        })
        .fail(function() {
            alert("error");
        });
    });
</script>
</body>
</html>`
...