我正在尝试开发一个连接器。
我已经创建了卡和网络钩子,并为我的节点.js服务器输入了一个回调 URL 以进行 httpost 操作。单击"发送"时,我无法获取要传递给我的服务器的选择列表的值。
我尝试在卡片上包含一个正文字符串,但后来我得到了
语法错误:JSON 中位置 0 处出现意外的标记 #。
当我在没有正文的情况下发送时,它会与我的服务器通信,但我无法获取值。我记录了请求,但无处可去。
下面是适用于 Outlook 的一个 office365 连接器卡的代码示例的一部分。在卡片引用中写明 httppost 操作可以包含一个正文。因此,我假设这个身体将使用我定义的值发送到我的服务器。但是当我包含正文时,我收到上述错误,并且操作无法完成,因为它没有正文。
{
"@type": "ActionCard",
"name": "Move",
"inputs": [
{
"@type": "MultichoiceInput",
"id": "move",
"title": "Pick a list",
"choices": [
{ "display": "List 1", "value": 500 },
{ "display": "List 2", "value": 600 }
]
}
],
"actions": [
{
"@type": "HttpPOST",
"name": "Save",
"target": "https://aptdevserver.westeurope.cloudapp.azure.com/chat/messages/create",
"body": "value",
"bodyContentType": "application/json"
}
]
}
您没有告诉 Outlook 要发送哪个值。你需要告诉它你想做一个字符串替换,否则你就会在POST
的正文中乱扔value
字符串:
"body": "{ "move": "{{move.value}}" }"
使用您的完整示例:
{
"@type": "ActionCard",
"name": "Move",
"inputs": [
{
"@type": "MultichoiceInput",
"id": "move",
"title": "Pick a list",
"choices": [
{ "display": "List 1", "value": 500 },
{ "display": "List 2", "value": 600 }
]
}
],
"actions": [
{
"@type": "HttpPOST",
"name": "Save",
"target":
"https://aptdevserver.westeurope.cloudapp.azure.com/chat/messages/create",
"body": "{ "move": "{{move.value}}" }",
"bodyContentType": "application/json"
}
]
}