Bot连接器-直线API交叉对话
Bot Connector - Direct Line API cross conversation?
我编写了一个简短的JavaScript聊天程序来使用直连API。为了保持我的应用程序秘密安全,js对我的服务器进行ajax调用,在那里我使用秘密进行服务器端API调用以生成令牌并将其传递回js。当用户提交消息时,js发布消息以启动对话(如果我还没有一个conversationID),然后发布消息,然后执行get操作以获得响应。
幸运的是,当我开始这个时,我搜索了一些东西,并浏览了一些关于在发布时在消息对象中包含"from"值的帖子,或者它只是开始每个帖子。但现在一切都很好,没有问题。
然后我注意到奇怪的事情。如果我打开一个浏览器,开始聊天,它会从另一个浏览器停止的地方开始。
我很快意识到这是因为我在js中硬编码了一个"from"值。但这似乎仍然很奇怪……2个不同的令牌,2个不同的conversationid, 2个不同的浏览器和1个会话。对话真的是由消息中的from字段连接起来的吗?
如果是,有一个conversationID的意义是什么?他们是否以某种方式将IP和/或MAC地址与from属性结合使用?
我仍然在本地主机上工作,所以我还没有测试它来自2个不同的ip。
我知道这很容易通过让js为"from"生成一个随机值来将对话限制到js的生命周期来固定,但这仍然看起来很奇怪。这是一个很好的理由还是一个bug?
UPDATE参见github问题的答案:https://github.com/Microsoft/BotBuilder/issues/1307 issuecomment - 249187807
您应该在客户端加载时生成一个随机ID。(或者,您可以在应用程序中使用现有的用户ID,比如设备ID。)自动分配行为一直是一个混乱的来源,将不会存在于下一个版本的直线。
- 如何更改bigquery API中的计费层选项
- Amazon S3 REST API大小不正确
- 客户端服务器REST API captcha实现
- 使用Facebook live API创建实时视频对象时的隐私设置
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- 着色引导框对话框
- 搜索api在mac上显示对话框
- 使用FB.ui的Facebook Feed对话给出API错误191
- 随机文章API调用正在返回用户对话页面
- Facebook API:访问页面对话
- 节点电报机器人 API,在用户之间进行链对话
- Stripe API的checkout对话框允许比字符串更复杂的描述吗?
- facebook用户界面中共享对话框的API错误代码:191
- Facebook API -我的信息共享对话框不打印
- 使用Feed对话框和Javascript API在另一个用户的墙上发布
- Bot连接器-直线API交叉对话
- 当登录多个帐户时,无法获得Google Drive API共享对话框
- 如何在用户按下按钮或图像后显示Google Picker API对话框
- 使用HTML5指针锁API时,确认对话框
- 如何限制访问facebook API(从JS对话框),如果用户使用不同的FB帐户比他注册