2016-05-13 191 views
3

我正在构建一个移动客户端,以通过bot连接器directline与通过微软botbuilder构建的机器人通话。我想发送诸如用户与机器人讲话的唯一ID之类的东西,所以我的机器人可以对这个用户进行操作。目前我只是在发布直接线,但是当我在身体中添加额外的东西时,我的机器人无法检索它。我可能在做一些非常简单的错误。很想得到你的帮助!从客户端如何通过直连线连接器发送用户信息

邮编:

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 

感谢您的耐心。

+0

请提供的示例代码。 – nakashu

回答

1

您是否尝试过在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 
     } 
    } 
    }) 
} 
相关问题