У меня есть расширение сообщения, доступное в контекстном меню сообщения «...», которое запускает модуль задач. В модуле задачи я отправляю некоторые примеры данных (например, microsoftTeams.tasks.submitTask({"x":"y"});
)
. Я получаю вызов для "composeExtension / submitAction", но когда я пытаюсь вставить что-то в поле составления, отправив ответ, подобный следующее:
var card = new HeroCard
{
Title = "foo",
Subtitle = "subtitle",
Text = "bar"
};
var attachments = new List<MessagingExtensionAttachment>();
attachments.Add(new MessagingExtensionAttachment
{
Content = card,
ContentType = HeroCard.ContentType,
Preview = card.ToAttachment(),
});
var activity = new Activity
{
Type = ActivityTypesEx.InvokeResponse,
Value = new InvokeResponse
{
Status = (int)HttpStatusCode.OK,
Body = new MessagingExtensionActionResponse
{
ComposeExtension = new MessagingExtensionResult
{
AttachmentLayout = "list",
Type = "result",
Attachments = attachments
},
}
}
};
await turnContext.SendActivityAsync(activity, cancellationToken: cancellationToken);
Затем я получаю сообщение об ошибке на модуле задачи, и в инструментах отладки браузера я вижу следующую ошибку:
<BotError>Error when processing invoke response: Task or Task Type is missing in Task Module response
Вот полезная нагрузка, возвращаемая из моего Bot to Teams:
{
"task": null,
"composeExtension": {
"attachmentLayout": "list",
"type": "result",
"attachments": [
{
"preview": {
"contentType": "application/vnd.microsoft.card.hero",
"contentUrl": null,
"content": {
"title": "foo",
"subtitle": null,
"text": "bar",
"images": null,
"buttons": null,
"tap": null
},
"name": null,
"thumbnailUrl": null
},
"contentType": "application/vnd.microsoft.card.hero",
"contentUrl": null,
"content": {
"title": "foo",
"subtitle": null,
"text": "bar",
"images": null,
"buttons": null,
"tap": null
},
"name": null,
"thumbnailUrl": null
}
],
"suggestedActions": null,
"text": null,
"activityPreview": null
}
}
Пустой объект "task" существует из-за типа "MessagingExtensionActionResponse", но я попытался удалить его с помощью своего собственного пользовательского типа, а также попробовал различные идеи о том, что, возможно, положить туда. Согласно документам, я на самом деле не вижу, что требуется «задание» (например, для здесь ).
Может кто-нибудь увидеть, где я иду не так, или как вести мне к рабочему решению на этом.
[обновление: незначительное обновление к примеру кода выше, согласно комментариям в ответе ниже]