API прямой линии службы Azure Bot v3.0 постоянно выдает ошибку 403 при запуске разговора

Я пытался использовать Azure Direct Line API v3.0 для бота. Однако, похоже, я больше не могу начать разговор, так как я получаю сообщение 403 при вызове APi. Вот мой призыв:

$.ajax({
        url: "https://directline.botframework.com/v3/directline/tokens/generate",
        method: "POST",
        crossDomain: true,
        cache: false,
        beforeSend: function (xhr) {
            /* Authorization header */
            xhr.setRequestHeader ("Authorization", "Basic " + btoa("Bearer:GI3UQr2GYoA.cwA.wHo.h1AyNQKXSESWZGFrf-yf_Cm3XwDRy38Yn-xzgUton-E"));
        },
        success: function (data) {

        },
        error: function (jqXHR, textStatus, errorThrown) {

        }
    });

Имейте в виду, это работало пару дней назад. У меня есть несколько записей о действиях, созданных с помощью этого API.

Но теперь я постоянно получаю это сообщение об ошибке даже при получении токена:

{
  "error": {
    "code": "BadArgument",
    "message": "Missing token or secret"
  }
}

Я использую бесплатную подписку, и у меня осталось 7 дней. Также я проверил статус подписки, она активна. У меня тоже есть на счету более 140 долларов.

Пожалуйста, дайте мне знать, что я делаю не так, и почему это вдруг перестало работать?

Заранее спасибо.


person Waqar Irfan    schedule 07.06.2018    source источник


Ответы (1)


Прочтите предоставленный MS документ об аутентификации: https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-authentication?View=azure-bot-service-3.0

Он говорит:

Authorization: Bearer SECRET_OR_TOKEN

Так что измените эту строку:

xhr.setRequestHeader ("Authorization", "Basic " + btoa("Bearer:GI3UQr2GYoA.cwA.wHo.h1AyNQKXSESWZGFrf-yf_Cm3XwDRy38Yn-xzgUton-E"));

To:

xhr.setRequestHeader ("Authorization", "Bearer GI3UQr2GYoA.cwA.wHo.h1AyNQKXSESWZGFrf-yf_Cm3XwDRy38Yn-xzgUton-E");

И работает нормально!

введите описание изображения здесь

person Nicolas R    schedule 07.06.2018