Bot框架Web聊天令牌协议

时间:2016-12-02 17:02:48

标签: python python-3.x botframework

我正在构建一个有趣的聊天机器人,我无法向以下API发送消息:https://webchat.botframework.com/api/conversations

在网络聊天用户发送消息后,我知道会话ID和发件人ID。为了回复,我执行以下步骤:

首先,我使用以下代码检索令牌:

response = requests.post(
    "https://webchat.botframework.com/api/tokens/conversation",
    headers={"Authorization": "BotConnector  " + pwdChat,"Content-Type": "application/json"})
data = response.json()
token = data

然后,我想通过以下代码向网聊用户发送消息:

requests.post('https://webchat.botframework.com/api/conversations/' + sendersk2 + '/messages/',
          headers={"Authorization": "Botconnector " + token, "Content-Type": "application/json"},
          json={
                "type": "message",
                "text": "Hi!"
          })

但是,我收到一个响应[403]错误标记为:" BadArgument:安全令牌对此对话无效"

对这个问题有什么看法吗?

2 个答案:

答案 0 :(得分:0)

有几件事可能会有所帮助。

  1. 您正在使用的端点会带回一个复杂的JSON对象,您需要从中提取token属性。
  2. 或者,您可以使用https://webchat.botframework.com/api/tokens代替,但您还需要在最后修改引号。
  3. 基本上,请查看令牌POST请求的响应,并确保您正确拉出令牌。

答案 1 :(得分:0)

此外,您似乎正在与V1端点进行通信。我们不再积极支持V1。请考虑upgrading to V3。感谢。