Ошибка при вставке адаптивной карты в поле «Составить» из команды «Расширение сообщения» (composeExtension / submitAction) - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть расширение сообщения, доступное в контекстном меню сообщения «...», которое запускает модуль задач. В модуле задачи я отправляю некоторые примеры данных (например, 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", но я попытался удалить его с помощью своего собственного пользовательского типа, а также попробовал различные идеи о том, что, возможно, положить туда. Согласно документам, я на самом деле не вижу, что требуется «задание» (например, для здесь ).

Может кто-нибудь увидеть, где я иду не так, или как вести мне к рабочему решению на этом.

[обновление: незначительное обновление к примеру кода выше, согласно комментариям в ответе ниже]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...