microsoft-teams - 具有嵌入式 Web 视图的 Teams 消息传递扩展 - Web 应用程序的结构
问题描述
我再一次需要关于我的消息扩展的帮助。我想在我的消息传递扩展中显示自定义 Web 视图,例如这里https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/how-to/action-commands/create-task-module ?tabs=dotnet(“带有嵌入式 Web 视图”)。我现在不明白必须如何编写 Web 应用程序以及消息扩展正在做什么/调用的详细信息。所以只输入一个普通的网址是行不通的,我已经测试过了。有谁可以解释我的 Web 应用程序需要哪种端点/结构才能被消息扩展成功调用?我对 MS 提供的文档有点困惑。
谢谢你的帮助!
更新:我想更详细地描述我在做什么
- 在用户单击我的机器人“OnTeamsMessagingExtensionFetchTaskAsyn”中的消息传递扩展后,将被调用。
- 然后执行以下操作:
'
var response = new MessagingExtensionActionResponse()
{
Task = new TaskModuleContinueResponse()
{
Value = new TaskModuleTaskInfo()
{
Height = "large",
Width = "large",
Title = "Example task module",
Url = "https://xxxxxx.eu.ngrok.io/messages/messages",
},
},
};
return response;
- 当我在“https://xxxxxx.eu.ngrok.io/messages/messages”上调试我的 Web 应用程序时,我看到 MessagesController 被调用,然后它想要显示相应的视图
'
public IActionResult Messages()
{
return View();
}
public MessagesController()
{
}
但是页面没有显示。Teams 表示无法访问该应用程序。
更新 2
我将 Web 应用程序的域添加到清单中的“messageHandlers”,但它不起作用
当用户点击消息扩展时网站未显示
然后我尝试了另一种类型的 ActionResponse(用于配置的)并且有效
return new MessagingExtensionActionResponse { ComposeExtension = new MessagingExtensionResult { Type = "config", SuggestedActions = new MessagingExtensionSuggestedAction { Actions = new List<CardAction> { new CardAction { Type = ActionTypes.OpenUrl, Value = "https://xxxxx.eu.ngrok.io/messages/messages", }, }, }, }, };
更新 3
解决方案
我建议查看为此提供的各种示例。Bot Framework 示例库 ( https://github.com/pnp/teams-dev-samples/tree/master/samples ) 和 Teams PnP 示例 ( https://github.com/pnp/ ) 中有示例团队开发样本/树/主/样本)。您还可以在https://pnp.github.io/teams-dev-samples/上查看整个 Teams 示例库查看器。
评论中有很多讨论,但最后showLoadingIndicator
设置为true
,这也是这个问题的一个复杂因素,需要更改(或在网页中更好地处理 - 更多信息请参见此处:Microsoft-团队:由于“到达此应用程序时出现问题”错误,无法测试个人选项卡)
推荐阅读
- php - 如何在php中格式化打印输出
- c# - 将位置设置为底部时不显示 TabbedPage 图标
- google-colaboratory - 在 Google Colaboratory 中长时间运行会话结束后,如何用剩余的 epoch 训练模型。?
- java - Hibernate EntityManager#getResultList 挂起,没有任何错误
- html - HTML文件的图像未在ios应用程序中加载
- javascript - window.parent.postMessage 不适用于 iframe 中的 scr="'data:text/html;charset=utf-8"
- angular - 如何在 Ionic Ecommerce App 中应用产品搜索
- dns - 如何强制用户从特定的办公地点到特定的 ADFS 服务器
- delphi - AdvBadgeGlowButton1 标题上的 delphi 用例
- c++ - 如何在 RPi3 上的交叉编译应用程序的 MainWindow 上显示边框和标题栏?