Operation retornou um código de status inválido 'Proibido'. Botframework v4
ntão, eu criei um bot no azul e o baixei. As 1000 chamadas gratuitas da LUIS atingiram seu limite. Criei uma assinatura no portal azul (eu fiz alguma coisa no contêiner do docker). Seguidoeste guia até a etapa 6. Quando clico no URL do nó de extremidade e a consulta diretamente no navegador, ele está funcionando be
Adicionei-o ao bot via Bot Emulator clicando em + sign in services e adicionando o modelo do bot. Mas quando executo o bot, recebo o erro de título. Percebi no arquivo .bot que a chave de criação e a chave de assinatura adicionadas pelo emulador de bot são as mesma
Então mudei a chave de assinatura para uma das chaves geradas pelo azure e ainda assim o mesmo erro. Tentei redefinir a chave de autoria da mesma forma e excluir minha conta luis.ai e criei uma nova. (ainda é o mesmo e-mail, pois é o portal conectado ao azure.) e continua o mesmo.
qui estão algumas fotos para referência e o err
Eu também tentei testá-lo em luis.ai e obtive esse resultado.
mas quando eu verificá-lo está definido para o novo recurso.
Aqui está uma foto do arquivo bot depois de adicionar luis via emulador de bot. Tem a mesma chave de autor e chave de assinatura (ainda proibida)
então eu mudei agora com chave de assinatura (ainda proibida).
Aqui está funcionando corretamente quando testado diretamente na URL.
Para referência
qui está o código para o serviço de bo
using System;
using System.Collections.Generic;
using Microsoft.Bot.Builder.AI.Luis;
using Microsoft.Bot.Configuration;
namespace Microsoft.BotBuilderSamples
{
public class BotServices
{
public BotServices(BotConfiguration botConfiguration)
{
foreach (var service in botConfiguration.Services)
{
switch (service.Type)
{
case ServiceTypes.Luis:
{
var luis = (LuisService)service;
if (luis == null)
{
throw new InvalidOperationException("The LUIS service is not configured correctly in your '.bot' file.");
}
var endpoint = (luis.Region?.StartsWith("https://") ?? false) ? luis.Region : luis.GetEndpoint();
var app = new LuisApplication(luis.AppId, luis.AuthoringKey, endpoint);
var recognizer = new LuisRecognizer(app);
this.LuisServices.Add(luis.Name, recognizer);
break;
}
}
}
}
public Dictionary<string, LuisRecognizer> LuisServices { get; } = new Dictionary<string, LuisRecognizer>();
}
}
Estou tentando resolver isso por 4 dias já. Obrigado