2016-03-31 18 views
1

Yeni Microsoft'un Bot Framework ve Node.JS. kullanarak bir bot oluşturmak çalışıyorum Microsoft Bot Framework'ün verifyBotFramework()

sorun

bile Birazdan AppId ve App Gizli, ben yasak almaya devam verifyBotFramework() yöntemini vermek düşündük olmasıdır.

bot emülatör gayet güzel çalışıyor, ama Telgraf aracılığıyla ulaşmaya çalıştığınızda, o "Yasak" diyor. hatta bir hata iletisi vermez çünkü

Ayrıca, ben, "Senin için bot Testi bağlantı" kullanamazsınız.

var restify = require('restify'); 
var builder = require('botbuilder'); 

var server = restify.createServer(); 

//Criando bot e adicionando diálogos 
var bot = new builder.BotConnectorBot(); 
bot.add('/', new builder.CommandDialog() 
    .matches('^set name', builder.DialogAction.beginDialog('/profile')) 
    .matches('^quit', builder.DialogAction.endDialog()) 
    .onDefault(function(session) { 
     if (!session.userData.name) { 
      session.beginDialog('/profile'); 
     } else { 
      session.send('Hello, %s!', session.userData.name); 
     } 
    }) 
); 


bot.add('/profile', [ 
    function(session) { 
     if (session.userData.name) { 
      builder.Prompts.text(session, 'What would you like me to call you instead?'); 
     } else { 
      builder.Prompts.text(session, 'Hey there =). What\'s your name?'); 
     } 
    }, 
    function(session, results) { 
     session.userData.name = results.response; 
     session.endDialog(); 
    } 
]); 

//Configurando Restify 
server.use(bot.verifyBotFramework({ appId: 'myappid', appSecret: 'myappsecret' })); 
server.post('/v1/messages', bot.listen()); 
server.listen(process.env.port || 3978, function() { 
    console.log('%s listening to %s', server.name, server.url); 
}); 

Ve hayır, ben "myappsecret" ve "myappid", sadece onları burada yerini kullanmıyorum:

İşte benim kod gider.

PS: Ben çerçeve kontrol paneli tarafından üretilen App Sırrı kullanıyorum. Hem birincil hem ikincil Uygulama Sırlarını denedim.

+0

Let's Encrypt sertifikalı HTTPS'yi kurma ve Key sorunu çözdü. –

+1

Bot Framework SDK sürüm 3+ sürümünden bu yana, 'verifyBotFramework' işlevini çağırmanız gerekmediğine dikkat edin. –

cevap

0

HTTPS kullandığınızdan emin olun. HTTP kullanıyorsanız, temel kimlik bilgisini devre dışı bırakmanız gerekir, çünkü BotFramework uygulamanızı açık bir şekilde appSecret göndermez.

+0

Teşekkürler! Ve sertifika kendinden imzalı biri olabilir mi? –

+0

Hayır, ana bilgisayar adınız için geçerli olan düzgün bir zincirleme olmalı, üzgünüm. –

+0

Sorun değil, Let's Encrypt sertifikası var ve mükemmel çalıştı =) –