Как отправить информацию о пользователе через directline botconnector

Я создаю мобильный клиент, чтобы общаться с ботом, созданным с помощью Microsoft botbuilder через botconnector 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

Спасибо за ваше терпение.

1 ответ

Вы пытались установить channelData в JSON? Он описывается как "данные, отправленные без изменений между клиентом и ботом" и может выглядеть следующим образом:

{
  "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
       }
     }
   })
 }
Другие вопросы по тегам