API токена проблемы Azure возвращает отказ в доступе из-за отсутствия ключа подписки

Я пытаюсь вызвать службы Bing Text to Speech Azure, но я продолжаю получать эту ошибку при получении токена доступа, хотя предоставляется ключ подписки.

function requestAudio(text,lang)
{
    nameLanguage = "Microsoft Server Speech Text to Speech Voice (en-GB, Susan, Apollo)";
    language = lang;
    textToSpeak = text;
    $.ajax(
    {
        type: 'POST',
        url: tokenURL,
        data: 
        {  
            'Ocp-Apim-Subscription-Key': 'xxxxxxf8cc34d08b646de1bc54c950d'
        }
    }).done(function(data) 
    { 
        token = data.access_token;
        sendAudioRequest();
    });
}

Ошибка именно от скрипача

{ "statusCode": 401, "message": "Access denied due to missing subscription key. Make sure to include subscription key when making requests to an API." }

и URL-адрес, по которому я звоню

https://api.cognitive.microsoft.com/sts/v1.0/issueToken

person Mazen Abu Taweelih    schedule 26.02.2017    source источник


Ответы (1)


Я почти уверен, что вы должны установить их в заголовке, а не в теле.

beforeSend: function(request) {
  request.setRequestHeader("Ocp-Apim-Subscription-Key", 'xxxxxxf8cc34d08b646de1bc54c950d');
},

Ссылка: https://msdn.microsoft.com/en-us/library/mt712546.aspx

person 4c74356b41    schedule 26.02.2017