【发布时间】:2022-06-10 19:01:46
【问题描述】:
所以我创建了一个发送自适应卡片的聊天机器人。这些卡片包含启动任务模块的按钮。但是模块是空的(见图)。 Empty Task Module 网络中的行为略有不同。
机器人消息传递端点是 https://xxx.westeurope.azurecontainer.io/api/messages 并且工作正常。所以我将“xxx.westeurope.azurecontainer.io”添加到清单 json 中的 validDomains 数组中。此外,机器人的 OnTeamsTaskModuleFetchAsync 看起来像这样:
protected override Task<TaskModuleResponse> OnTeamsTaskModuleFetchAsync(ITurnContext<IInvokeActivity> turnContext, TaskModuleRequest taskModuleRequest, CancellationToken cancellationToken)
{
return Task.FromResult(new TaskModuleResponse
{
Task = new TaskModuleContinueResponse
{
Value = new TaskModuleTaskInfo
{
Url = "https://xxx.westeurope.azurecontainer.io/api/messages/player",
Title = "Blanky blank",
Height = "medium",
Width = "medium",
FallbackUrl = "https://xxx.westeurope.azurecontainer.io/api/messages/player"
}
}
});
}
我创建了一个端点 /api/messages/player 在浏览器中运行良好。打开网址后,将显示所需的视图。但不在团队(或他们的网络应用程序)内。仍然是一个空的任务模块。
端点
[HttpGet("player")]
public IActionResult Player()
{
var html = $"<iframe width=\"640\" height=\"360\" src=\"https://xxx.westeurope.azurecontainer.io/api/messages/test" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen=\"allowfullscreen\"></iframe>";
return new ContentResult
{
Content = html,
ContentType = "text/html"
};
}
在浏览器中,后台显示了某种窗口。此外,正在加载 iframe 以及 src(HLS STreaming 链接和相应的音频内容)。 奇怪的是:一位同事甚至显示音频播放器并播放文件几秒钟(在网络中),直到服务人员超时 控制台抛出一些我不明白的警告/错误。他们似乎不在我的代码中。 奇怪的是:一位同事甚至显示音频播放器并播放文件几秒钟(在网络中),直到服务人员超时
编辑:在团队移动应用程序下完美运行。喜欢wtf?! 4个不同的平台,4个不同的结果。从“根本不工作”到“工作正常”以及介于两者之间的一切。
编辑:仍然没有显示任何内容,但正在后台播放音频流(仅适用于团队应用程序)。网络仍无法正常工作,移动应用仍按预期工作。
【问题讨论】:
-
应该是
"BaseUrl/cshtml-file"。顺便问一下,你用的是什么操作系统? -
@AP01 Windows 10。我调整了代码,创建了一个简单的 html 文件并将其保存在 pages 文件夹中。此外,我将 URL 调整为“xxx.westeurope.azurecontainer.io”+“/”+“Exercise.html”。还是行不通。链接是否需要尊重文件夹结构?表示:“xxx.westeurope.azurecontainer.io”+“/pages/”+“Exercise.html”
-
你能在 Teams 网络应用中测试它吗?
-
@AP01 在 Teams Web 应用程序中测试。在同事浏览器上工作了一秒钟。但不适合我。调整帖子以获取更多信息。
-
@AP01 在移动应用中测试。按预期工作。
标签: c# botframework url-routing microsoft-teams adaptive-cards