Botframework ';访问控制允许原点';在本地测试中使用bot向已知用户发送通知时出错
我正在尝试使用bot框架从本地加载的团队选项卡发送用户通知Botframework ';访问控制允许原点';在本地测试中使用bot向已知用户发送通知时出错,botframework,microsoft-teams,Botframework,Microsoft Teams,我正在尝试使用bot框架从本地加载的团队选项卡发送用户通知 我创建了机器人并部署到Azure bot可以很好地使用示例代码回复用户发送给它的任何内容 但是,当我试图使用Teams选项卡中的按钮(我写这个是为了测试发送通知)来触发向用户发送通知的事件时,控制台日志显示了错误: 代码段: private buttonClicked = () => { const address = { channelId: 'msteams',
private buttonClicked = () => {
const address =
{
channelId: 'msteams',
user: { id: '{myUserId}' },
channelData: {
tenant: {
id: '{myTenantId}'
}
},
notification: {
alert: true
},
bot:
{
id: '{mybotid}',
name: 'Test Bot'
},
serviceUrl: 'https://smba.trafficmanager.net/amer/'
}
const connector = new builder.ChatConnector({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword,
});
const bot = new builder.UniversalBot(connector);
const msg = new builder.Message().address(address);
msg.text('Hello, this is a notification');
msg.summary('This is a summary');
bot.send(msg);
}
看起来我需要设置承载令牌:
但在发送消息时,我应该如何设置此设置
感谢您的帮助 您的设置有点让人费解,但听起来好像您正试图通过ngrok将本地运行的团队实例连接到Azure部署的机器人。如果是这种情况,那么您需要在bot上启用CORS以接受本地主机地址 为此,请为部署的bot打开Azure资源组。然后,选择应用程序服务 接下来,在左侧菜单上,向下滚动到API部分并选择“CORS” 最后,
- 选中“启用访问控制允许凭据”复选框,然后
- 将您的本地主机地址添加到列表中
- 单击保存
希望有帮助 你能分享你正在使用的ngrok命令吗?你还在面对这个问题吗?嗨,瓦吉德。是的,这仍然是一个问题,我将bot部署到azure。我按照您所说的进行了配置,但仍然收到相同的CORS错误消息。@LifeiWang,抱歉-我刚刚看到您的响应。你还对此有意见吗?
private buttonClicked = () => {
const address =
{
channelId: 'msteams',
user: { id: '{myUserId}' },
channelData: {
tenant: {
id: '{myTenantId}'
}
},
notification: {
alert: true
},
bot:
{
id: '{mybotid}',
name: 'Test Bot'
},
serviceUrl: 'https://smba.trafficmanager.net/amer/'
}
const connector = new builder.ChatConnector({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword,
});
const bot = new builder.UniversalBot(connector);
const msg = new builder.Message().address(address);
msg.text('Hello, this is a notification');
msg.summary('This is a summary');
bot.send(msg);
}