1
votes

Exemple QnAmaker - L'ID d'application Microsoft ou le mot de passe d'application Microsoft du bot est incorrect

J'ai téléchargé l'exemple QnAmaker à partir de ici et essayez de le faire fonctionner à partir de l'émulateur de bot. J'ai donné l'identifiant et le mot de passe d'application Microsoft corrects. J'ai même essayé avec un mot de passe nouvellement régénéré. Mais obtenir la même erreur.

Quelqu'un a-t-il rencontré ce problème? Des pensées. Que dois-je essayer ensuite pour résoudre ce problème?

Paramètres de mon application entrez la description de l'image ici

Mes paramètres ngrok entrez la description de l'image ici

 entrez la description de l'image ici

<❯Mise à jour

J'ai supprimé les paramètres ngrok des paramètres de l'émulateur, j'ai supprimé l'ID MsApp et le mot de passe de l'application Ms, puis j'ai démarré l'émulateur et le bot répond. Mais je dois me connecter à mon QnaMaker sur azure et obtenir une réponse basée sur ma base de connaissances.

 entrez la description de l'image ici

Mise à jour 2

J'ai essayé via le chat Web depuis le portail azure et cela n'a pas répondu. Voici le message d'erreur que j'ai trouvé dans Application insights

Échec de l'acquisition du jeton pour les informations d'identification du client. (AADSTS700016: L'application avec l'identifiant 'fXXXXXXXXXXXXXXXXXXXXX2' n'a pas été trouvée dans le répertoire 'botframework.com'. Cela peut arriver si l'application n'a pas été installé par l'administrateur du locataire ou consenti à par tout utilisateur du locataire. Vous avez peut-être envoyé votre authentification demande au mauvais locataire. ID de trace: 9XXXXX-46a3-4XX-b8XXX7-c1XXXXX00

Question:

"Cela peut se produire si l'application n'a pas été installée par l'administrateur du locataire ou acceptée par un utilisateur du locataire. Vous avez peut-être envoyé votre demande d'authentification au mauvais locataire"

Comment puis-je m'assurer que j'envoie la demande au bon locataire? Où puis-je vérifier cela? ou Comment puis-je résoudre ce problème?


0 commentaires

3 Réponses :


0
votes

Essayez de supprimer les valeurs de MicrosoftAppId et MicrosoftAppPassword de votre fichier appsettings.json , puis exécutez le bot et essayez de le connecter via l'émulateur à nouveau.

Lorsque vous vous connectez à un bot dans l'émulateur, ET le fichier appsettings.json (toujours) ou .bot (uniquement pour le point de terminaison de développement) a des valeurs définies pour le MicrosoftAppId et MicrosoftAppPassword alors vous devrez entrer ces détails dans les champs fournis sur l'écran de connexion, voir mon image ci-dessous:

 entrez la description de l'image ici

Si vos valeurs dans votre appsettings.json pour MicrosoftAppId et MicrosoftAppPassword sont vides, c'est-à-dire "" , vous n'aura pas à les saisir à l'écran de connexion et votre bot fonctionnera toujours lorsque vous déboguerez localement, même si votre bot en direct les a définis. L'exception est que lorsque vous utilisez ngrok pour déboguer un canal de production à l'aide de votre code local, vous devrez alors fournir MicrosoftAppId et MicrosoftAppPassword lors de la connexion, même s'ils ne le sont pas être défini localement.


4 commentaires

J'ai fait exactement ce que vous avez suggéré ci-dessus.Mais obtenir la même erreur "POST400directline.postActivity" inspecteur -JSON -showing Erreur de service "Response.text n'est pas une fonction"


J'ai supprimé les paramètres ngrok des paramètres de l'émulateur.Removed MsApp Id et Ms App Password, puis démarré l'émulateur et le bot répond. Mais je dois me connecter à QnaMaker sur Azure et obtenir une réponse basée sur ma base de connaissances


Vous devrez ajouter les détails de votre fabricant qna à votre fichier 'appsettings.json' selon la documentation . Vous pouvez trouver les détails sous l'onglet Paramètres du portail qna maker. Assurez-vous que vous disposez de a publié votre base de connaissances.


Comment êtes-vous allé @roney?



0
votes

Si vous voulez voir la réponse dans l'émulateur, supprimez l'identifiant et le mot de passe de l'application du fichier app settings.json (cela a fonctionné pour moi) et ajoutez les clés QnA kb dans le fichier de paramètres de l'application. Et si vous souhaitez tester sur le chat Web, ajoutez l'identifiant et le mot de passe de l'application dans le fichier de paramètres de l'application avec les clés QnA kb et publiez-le. Une fois que votre bot est publié, vous pourrez tester sur le chat Web et changer le point de terminaison de messagerie en votre URL publiée. En passant, si vous utilisez botframework v4, vous n'aurez pas besoin de ngrok.


1 commentaires

Pouvez-vous également vérifier votre point de terminaison dans apps.dev.microsoft.com , où vous avez enregistré votre bot



0
votes

Je pense que je pourrais savoir ce qui a causé cela - d'où avez-vous obtenu l'ID d'application et le mot de passe d'application? Ils doivent provenir d'une application "Bot" nouvellement créée dans le portail Azure. Si vous ne disposez pas de la bonne combinaison application + clé, vous pouvez communiquer avec votre bot via l'émulateur, par exemple, mais il ne pourra pas se connecter à d'autres services (par exemple, QnAMaker, MS Teams).

Dans le portail Azure, le modèle "Bot App Web" créera une application Bot ET une application d'hébergement Web dans Azure, mais il existe également une option pour créer une "Enregistrement des canaux de Bot" si vous utilisez un exemple d'application existant vous avez téléchargé et exécutez sur votre ordinateur local.

Cette option "Bot Channels" est essentiellement une sorte d'espace réservé dans Azure, où tout l'enregistrement de clé dans Azure pour le bot est effectué, mais vous pouvez héberger le bot lui-même où vous le souhaitez (par exemple sur votre machine locale, auquel cas vous indiquez l'adresse ngrok comme point de terminaison, quelque chose comme: https://250a1f39.ngrok.io / api / messages (assurez-vous que vous avez le "/ api / messages" dessus).

Sur l'écran Paramètres du bot dans le portail Azure, où vous capturez / mettez à jour le point de terminaison, se trouve l '«ID d'application Microsoft» dont vous avez besoin. Il y a aussi un lien pour "gérer", qui devrait vous emmener là où vous pouvez obtenir le mot de passe, mais le lien est actuellement cassé (je pense que MS travaille à le réparer), donc pour obtenir le mot de passe vous avez besoin de quelques étapes supplémentaires:

  1. Accédez à la page d'accueil principale d'Azure / à la liste des ressources principales (petite icône de menu en haut à gauche dans Azure)
  2. Accédez à Azure Active Directory (oui, même dans votre propre abonnement Azure personnel, vous le feriez - il y a toujours un Azure AD provisionné dans les coulisses)
  3. Accédez à "Inscriptions d'applications" dans le menu de gauche
  4. Accédez à "Applications du compte personnel" en haut de la page (PAS dans le menu principal du haut, un peu plus bas)
  5. Vous y trouverez votre nouveau bot - ouvrez-le
  6. Accédez à "Certificats et secrets"
  7. Cliquez sur le bouton pour créer un "Nouveau secret client"
  8. Choisissez une option d'expiration et donnez-lui éventuellement une description.
  9. Cliquez sur Ajouter et une fois qu'il est ajouté, c'est le mot de passe d'application dont vous avez besoin

0 commentaires