我有一个自适应卡,我从用户那里使用日期选择器自适应卡获取日期。我为我的 Web 客户端运行代码,工作得很完美,现在当我使用 Azure Channels for Microsoft Teams 集成我的代码时,机器人工作得很好,我也看到了自适应卡,但当我在自适应卡上填写日期后按下提交按钮时,我得到了这个错误信息。
[11:39 AM] mts-bot
Microsoft.Bot.Schema.ErrorResponseException: Operation returned an invalid status code 'BadRequest'
at Microsoft.Bot.Connector.Conversations.ReplyToActivityWithHttpMessagesAsync(String conversationId, String activityId, Activity activity, Dictionary2 customHeaders, CancellationToken cancellationToken) at Microsoft.Bot.Connector.ConversationsExtensions.ReplyToActivityAsync(IConversations operations, String conversationId, String activityId, Activity activity, CancellationToken cancellationToken) at Microsoft.Bot.Builder.BotFrameworkAdapter.SendActivitiesAsync(ITurnContext turnContext, Activity[] activities, CancellationToken cancellationToken) at Microsoft.Bot.Builder.TurnContext.<>c__DisplayClass22_0.<<SendActivitiesAsync>g__SendActivitiesThroughAdapter|1>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at Microsoft.Bot.Builder.TurnContext.SendActivityAsync(IActivity activity, CancellationToken cancellationToken) at Microsoft.BotBuilderSamples.DispatchBot.ProcessLeaveApplicationLUIS(ITurnContext1 turnContext, LuisResult luisResult, CancellationToken cancellationToken) in D:\nikhil\Alfi\mts-qna+luis\Bots\DispatchBot.cs:line 897
我已经尝试寻找解决这个问题的办法,我按照这个说的--。聊天BoT异常。OnTurnAsync异常--操作返回无效状态码'BadRequest'。
这里有人告诉要这样做
var reply = new Activity();
到
var reply = turnContext.Activity.AsMessageActivity();
方法中的onMessageActivityAsync方法中,但我没有发送这样的回复,我发送的是我的回复。
await turnContext.SendActivityAsync(MessageFactory.Text("Hi how are you?"), cancellationToken);
真的很期待一个快速的解决方案,我已经在微软提出了支持请求,票号为17896525,但它已经2天了,没有从那里得到一个解决方案。
private Attachment LeavesDatesAdaptiveCardAttachment()
{
// combine path for cross platform support
string[] paths = { ".", "Cards", "Dates.json" };
string fullPath = Path.Combine(paths);
var adaptiveCard = File.ReadAllText(fullPath);
return new Attachment()
{
ContentType = "application/vnd.microsoft.card.adaptive",
Content = JsonConvert.DeserializeObject(adaptiveCard),
};
}
为了在Teams中呈现自适应卡,我们需要更新json文件中按钮的数据部分。
viz的网络聊天
"type": "Action.Submit",
"data": "Your Button Data",
"title": "feedback"
}
对于MS团队。
"type": "Action.Submit",
"data": {
"msteams": {
"type": "imback",
"value": "Poor"
}
},
"title": "feedback"
}```