2016-07-09 30 views
6

nodejs eğitim kodunu kullanarak temel bir bot oluşturmak için MS botframework V3 kullanmaya çalışıyorum, ancak emülatörü kullanarak 401 Yetkisiz olarak tutmaya devam ediyorum. Lütfen yardım et?Bot framework v3 yetkisiz

AppId/Secret, env değişkenlerinde ayarlanır ve kesinlikle emülatörde doğrudur.

Kod aşağıda

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

//========================================================= 
// Bot Setup 
//========================================================= 

// Setup Restify Server 
var server = restify.createServer(); 
server.listen(process.env.port || process.env.PORT || 3978, function() { 
    console.log('%s listening to %s', server.name, server.url); 
}); 

// Create chat bot 
var connector = new builder.ChatConnector({ 
    appId: process.env.MICROSOFT_APP_ID, 
    appPassword: process.env.MICROSOFT_APP_PASSWORD 
}); 
var bot = new builder.UniversalBot(connector); 
server.post('/api/messages', connector.listen()); 

//========================================================= 
// Bots Dialogs 
//========================================================= 

bot.dialog('/', function (session) { 
    session.send("Hello World"); 
}); 

cevap

6

V1

, kimlik doğrulama özellikleri bu anahtarlarla saklandı botframework web sitesinde belirtildiği gibi APPID ve appSecret MicrosoftAppId ve sırasıyla

MicrosoftAppPassword değiştirmeyi deneyin:

  • AppId
  • Yani : Edit

  • MicrosoftAppId
  • MicrosoftAppPassword
  • :
  • AppSecret
  • V3 ise

, altta yatan yetkilendirme modeline değişiklikleri yansıtmak için bu tuşlar değiştirilmiştir Steven tarafından github bir yazıdan gerçek değerler

  • nedeniyle konuşlandırılmış ancak onlar çalışması gerekir düğüm sdk ilgili bir sorundan appPassword

    Bu değerler emülatörü ile çalışmayacak

  • APPID.

Bağlantı: https://github.com/Microsoft/BotBuilder/issues/625

+0

Teşekkürler - belgeler eski tüm tuşlardan hala bahsediyor. –

+0

Lütfen yardım ettiyseniz cevaba oy verin :) – xanish

+0

Aslında bu çözümün aslında çözüm olmadığını düşünüyorum. Bu değerleri değiştirerek, AppId/AppSecret bulamaz, bu yüzden kimlik doğrulamasını devre dışı bırakır. –

0

Ben sorunun, aynı yaşıyorum, ancak yukarıda işe çözüm elde edebilirsiniz. Önermek gibi görünüyor, id ve pw için herhangi bir değer koyabilirsiniz. Bulunmazsa yetki kapatıldı mı? Bu doğru mu? Bu

var connector = new builder.ChatConnector({appId:'999', appPassword: 'xxxx'}); 

çalıştı Ve ben başıma bir APPID ve parola veriyordu ilk defa emülatörü kullanırken hala 401.

+0

Bence bu doğru. Benim durumumda, aşağıdakileri yaptım: 1) Windows üzerindeki NodeJS'yi güncelleyin 2) tüm NPM paketlerini silin ve yeniden oluşturun 3) kullanıcı adınızı/parolanızı boş bırakmak ve 127.0.0.0 yerine localhost kullanmak için bot emülatöründeki ayarlarımı değiştirin. 1 ve emülatörde çalışmaya başladı. –

1

olsun. Yerel uygulamalarda hiçbir uygulama kimliğinin ve şifrenin de doğru olmadığını öğrendim.

: Bot uygulamasında ve emülatördeki web.config dosyasındaki aplikayı ve parolayı kaldırmak hatayı çözdü. Umarım yardımcı olur. Şerefe!