Bot Framework - Модуль открытых заданий с карты героя - PullRequest
2 голосов
/ 10 февраля 2020

Я пытаюсь изучить структуру бота, а также документацию и пример кода. В настоящее время у меня есть бот, который при обмене сообщениями возвращает карту героя, содержащую действие «вызвать», для входа в модуль задачи.

private Attachment GetTaskModuleHeroCard()
        {
            return new HeroCard()
            {
                Title = "Task Module Invocation from Hero Card",
                Subtitle = "This is a hero card with a Task Module Action button.",
                Buttons = new List<CardAction>()
                    {

                        new CardAction()
                         {
                                Type = "invoke",
                                Title = "Task Module Invocation from Hero Card",
                                Value = "{\"type\": \"task/fetch\", \"data\": \"fake data\"}"
                         }
                    },
            }.ToAttachment();
        }

Карта героя отлично отображается в настольном приложении обеих команд. и веб-приложение. Когда я нажимаю кнопку, запускается следующий код, который, как я полагаю, означает, что действие invoke / fetch было успешным

protected override async Task<TaskModuleResponse> OnTeamsTaskModuleFetchAsync(ITurnContext<IInvokeActivity> turnContext, TaskModuleRequest taskModuleRequest, CancellationToken cancellationToken)
        {      
            return new TaskModuleResponse
            {
                Task = new TaskModuleContinueResponse
                {
                    Value = new TaskModuleTaskInfo
                    {
                        Url = "https://[mywebapp].azurewebsites.net/",
                        Title = "Test",
                        Height = "medium",
                        Width = "medium",
                        FallbackUrl = "https://[mywebapp].azurewebsites.net/"
                    }
                }
            };
        }

В этот момент открывается модальное окно с моим полем «Заголовок», но отображается Остальная часть модальной будет пустой. В консоли браузера отображается сообщение об ошибке «2020-02-10T19: 17: 48.800Z AppsService: getInstalledAppForUser - указан неверный идентификатор приложения». И в наборе приложений проекта Bot. json, и в манифесте у меня есть идентификатор приложения Microsoft для моих настроек регистрации Azure Bot Channel. Appsettings. json также содержит сгенерированный секрет. Я размещаю бота с IIS и туннелирую к нему с помощью ngrok. Конечная точка обмена сообщениями: " https: // [myngrok] .ngrok.io / api / messages ." Страница html, которую я пытаюсь создать, размещена на Azure, и я могу получить доступ к ней как на своей локальной машине, так и на других машинах. Это встроенный в YouTube iframe. Домен веб-приложения также включен в массив validDomains манифеста. Кто-нибудь видит что я делаю не так?

Заранее спасибо

...