我正在构建一个移动客户端,以便通过botconnector直接与使用microsoft botbuilder构建的机器人进行对话。我想发送一些东西,比如与机器人对话的用户的唯一id,这样我的机器人就可以在这个用户上操作了。目前我只是POSTing to directline,但当我在正文中添加其他内容时,我的机器人无法检索到它。我可能正在做一些非常简单的错误的事情。我很乐意得到你的帮助!
来自客户端的POST代码:
sendToBot: function(setUpObj, message, returnCallback){
var postURL=baseURL+"/"+setUpObj.conversationId+"/messages"
var postOptions ={
method: 'POST',
headers: {
"Authorization": setUpObj.conversationToken,
"content-type": "application/json"
},
body: JSON.stringify({
"text": message,
"from": {
'address': setUpObj.currentUserUid
}
})
}
fetch(postURL, postOptions)
.then(
(response)=>response.text()
)
.then(
(responseText)=>{
this.getResponse(setUpObj, returnCallback)
}
)
}我通过以下方式访问服务器上的currentUserUid
session.message.from.address谢谢你的耐心。
发布于 2017-02-23 04:57:06
你有没有试过在json中设置channelData?它被描述为“在客户端和机器人之间发送未经修改的数据”,可能看起来像这样:
{
"id": "CuvLPID4kDb|000000000000000004",
"conversationId": "CuvLPID4kDb",
"created": "2017-02-22T21:19:51.0357965Z",
"from": "examplebot",
"text": "Hello!",
"channelData": {
"examplefield": "abc123"
}
}https://docs.botframework.com/en-us/core-concepts/channeldata/
因此,在您的代码中,它可能如下所示:
var postOptions ={
method: 'POST',
headers: {
"Authorization": setUpObj.conversationToken,
"content-type": "application/json"
},
body: JSON.stringify({
"text": message,
"channelData": {
"from": {
"address": setUpObj.currentUserUid
}
}
})
}https://stackoverflow.com/questions/37208749
复制相似问题