2016-05-13 11 views
3

Ich baue einen mobilen Client, um mit einem Bot zu sprechen, der mit Microsoft Botbuilder über botconnector directline erstellt wurde. Ich möchte Dinge wie die eindeutige ID des Benutzers senden, der mit dem Bot spricht, also kann mein Bot mit diesem Benutzer arbeiten. Zur Zeit sende ich nur POST, aber wenn ich zusätzliche Dinge im Körper hinzufüge, kann mein Bot sie nicht abrufen. Ich mache wahrscheinlich etwas wirklich Einfaches falsch. Würde mich freuen, deine Hilfe dabei zu bekommen!So senden Sie Benutzerinformationen über den direkten Bot-Connector

POST-Code von Client:

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) 
     } 
    ) 


    } 

und ich Zugriff auf das die currentUserUid auf dem Server von

session.message.from.address 

Dank für Sie Geduld.

+0

bitte Beispielcode zur Verfügung stellen. – nakashu

Antwort

1

Haben Sie versucht, die channelData in den JSON zu setzen? Es wird als "Daten gesendet unmodifizierten zwischen Client und bot" beschrieben und wie folgt aussehen kann:

{ 
    "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/

Also in Ihrem Code es könnte wie folgt aussehen:

var postOptions ={ 
    method: 'POST', 
    headers: { 
     "Authorization": setUpObj.conversationToken, 
     "content-type": "application/json" 
    }, 
    body: JSON.stringify({ 
    "text": message, 
    "channelData": { 
     "from": { 
     "address": setUpObj.currentUserUid 
     } 
    } 
    }) 
} 
Verwandte Themen