Bot框架v3未经授权

C. *_*oza 6 botframework

我正在尝试使用MS botframework V3使用nodejs教程代码创建一个基本的机器人,但我一直使用模拟器获得401 Unauthorized.请帮忙?

AppId/Secret在env变量中设置,在模拟器中肯定是正确的.

代码如下

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");
});
Run Code Online (Sandbox Code Playgroud)

xan*_*ish 7

尝试分别将appId和appSecret更改为MicrosoftAppId和MicrosoftAppPassword

如botframework网站上所述

在V1中,身份验证属性与这些密钥一起存储:

  • 的AppId
  • AppSecret

在V3中,为了反映对基础身份验证模型的更改,这些密钥已更改为:

  • MicrosoftAppId
  • MicrosoftAppPassword

编辑:所以,从史蒂文的github上的帖子中,实际值是

  • APPID

  • appPassword

    由于节点sdk存在问题,这些值将无法与模拟器一起使用,但是在部署时它们应该可以工作.

链接:https: //github.com/Microsoft/BotBuilder/issues/625