Azure Bot Service Direct Line API v3.0 постоянно выдает ошибку 403 при начале разговора - PullRequest
0 голосов
/ 07 июня 2018

Я пытался использовать 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 долларов в кредит.

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

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

1 Ответ

0 голосов
/ 07 июня 2018

Прочитайте предоставленный 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"));

На:

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

И все отлично работает!

enter image description here

...