我正在使用Microsoft Botframework和botbuilder的node.js版本。我的机器人可以使用共享消息字段向kik(和其他服务)发送消息 - 僵尸连接器允许所有消息。
但是,当我尝试将channelData字段用于kik时,我收到400(错误请求)错误消息。我已经调整了我的消息以使用以下提示: Bot Connector: Sending custom message to Kik results in 400 error 但我还是错过了一些东西。
感谢您为kik正确映射消息的任何帮助。
导致400错误的代码:
session.send({
type: "Message",
to: { "channelId":"kik", "address": session.message.from.address},
from: { "channelId":"kik", "address": session.message.to.address},
replyToMessageId: session.message.id,
conversationId: session.message.conversationId,
channelConversationId: session.message.channelConversationId,
channelMessageId: session.message.channelMessageId,
channelData:
{
"messages": [
{
"chatId": session.message.channelConversationId,
"type": "text",
"to": session.message.from.name,
"text": "test text",
"noForward": true
}
]
}
});
我也尝试过只发送channelData部分,但这也会导致400错误:
channelData:
{
"messages": [
{
"chatId": session.message.channelConversationId,
"type": "text",
"to": session.message.from.name,
"text": "test text",
"noForward": true
}
]
}
答案 0 :(得分:0)
我相信您的数据格式不正确。 Kik希望文本内容为" body "不是" 文字"。尝试:
"messages": [
{
"chatId": session.message.channelConversationId,
"type": "text",
"to": session.message.from.name,
"body": "test text",
"noForward": true
}