在整个 Microsoft 365 中扩展 Teams 邮件扩展
消息扩展允许用户使用按钮和窗体与 Web 服务交互。 用户可以通过跨 Microsoft 365 扩展 Teams 应用,从 Microsoft Teams 和 Outlook 在外部系统中搜索或启动操作。 有两种类型的消息扩展:
基于搜索的消息扩展:允许用户通过客户端的撰写消息区域搜索外部系统并共享结果。
基于操作的消息扩展:允许具有模式弹出窗口的用户收集或显示信息、处理交互,并将信息作为丰富卡发送回客户端。
注意
基于 Teams 搜索的邮件扩展适用于 Outlook,基于操作的邮件扩展在 Outlook 中以预览版提供。
Android 和 iOS 上的 Outlook 移动用户可以从 Outlook 网页版 和 Outlook for Windows 上的用户发送给他们的应用接收卡片并对其执行操作。
跨 Microsoft 365 的 Teams 消息扩展还支持显示卡片以启动 Stageview 和对话框的链接展开。
先决条件
若要将 Teams 邮件扩展扩展到 Outlook,请确保以下各项:
- 检查 Outlook for Windows 桌面版、Web 版和移动版中的邮件扩展支持,请参阅 跨 Microsoft 365 扩展 Teams 应用中的支持表。
- Microsoft 365 开发人员计划沙盒租户。 对于基于操作的消息扩展,请为 Microsoft 365 目标版本注册开发人员租户。
- 一个测试环境,其中从当前频道安装了 Microsoft 365 个应用Microsoft 365 应用版。
- (可选)带有 Teams 工具包扩展的 Microsoft Visual Studio Code。
生成或扩展消息扩展
若要将 Teams 邮件扩展扩展到 Outlook,可以使用 Teams 工具包生成新的邮件扩展应用,或将现有 Teams 邮件扩展应用扩展到 Outlook。
可以通过适用于Visual Studio Code的 Teams 工具包扩展为 Outlook 生成 Teams 邮件扩展应用。 若要生成适用于 Outlook 的邮件扩展应用,请确保以下各项:
可以生成基于搜索或基于操作的消息扩展。
打开 Visual Studio Code。
在“视图”选项或 Ctrl+Shift+P 下选择“命令面板...”。
选择 “Teams:创建新应用”。
从下拉列表中选择“ 消息扩展 ”。
选择“ 自定义搜索结果 ”,使用最新的应用清单 (以前称为 Teams 应用清单) 下载基于 Teams 搜索的邮件扩展 的示例代码。
还可以从左窗格下载示例代码,在 “开发”下,选择“ 查看示例”。 此时会显示“ 示例 ”选项卡,在搜索字段中输入 NPM 搜索连接器。
选择首选编程语言。
在本地计算机上为工作区文件夹选择一个位置,然后输入应用程序名称。
在“视图”选项或 Ctrl+Shift+P 下选择“命令面板...”。
输入 Teams:预配以在 Azure 帐户中创建相关应用资源,例如Azure 应用服务、App 服务计划、Azure 机器人和托管标识。
选择订阅和资源组。
选择“ 预配”。 或者,可以在扩展的“生命周期”部分下选择“预配”。
在“视图”选项或 Ctrl+Shift+P 下选择“命令面板...”。
输入 “Teams:部署 ”,将示例代码部署到 Azure 中的预配资源并启动应用。 或者,可以在扩展的“生命周期”部分下选择“部署”。
选择“部署”。
现在,你可以在 Teams 中上传应用 , 并在 Outlook 中预览邮件扩展。 若要通过 Teams 工具包生成应用包,请参阅 生成应用包。
在 Teams 中上传自定义应用
将更新的消息扩展 (应用包) 上传到 Teams 中。 完成后,邮件扩展会显示在撰写消息区域中已安装 的应用 中。
使用应用清单和应用 图标创建 .zip 文件。
转到 Microsoft Teams 并使用沙盒租户帐户登录。
选择“应用”>“管理应用”>“上传应用”。
选择“ 上传自定义应用 ”选项,选择 .zip 文件,并安装 (将其) 添加到 Teams 客户端。
通过 Teams 上传邮件扩展后,邮件扩展可在 Outlook for Windows 桌面版和 Web 版中使用。
在 Outlook 中预览邮件扩展
下面介绍如何测试在 Outlook 网页版 中运行的消息扩展。 若要预览在 Outlook 网页版 中运行的应用,请执行以下步骤:
使用测试租户凭据登录到 outlook.com 。
选择“新建邮件”。
在功能区上选择 “应用 ”。
你的邮件扩展已列出。 可以从其中调用它,并像在 Teams 中撰写邮件时一样使用它。
调试
调试消息扩展时,可以通过 Activity 对象的 channelId 字段识别源自 Teams 与 Outlook) 机器人请求的源 (。 当用户执行查询时,服务会收到一个标准 Bot Framework Activity
对象。 Activity 对象中的一个属性是 channelId
,其值为 msteams
或 m365extensions
,具体取决于机器人请求的来源。 有关详细信息,请参阅 基于搜索的消息扩展 SDK 和 基于操作的消息传送扩展 SDK。
限制
更新的消息扩展继续在 Teams 中运行时,必须注意以下限制:
Outlook 中的邮件扩展仅在上下文中
compose
受支持。 在 Teams 应用清单中,Outlook 不支持和message
等commandBox
邮件扩展上下文。Outlook 支持将 卡片发送到 撰写框的基于操作的邮件扩展。 但是,不支持使用 机器人传送卡片 。 在此方案中,可以将邮件扩展转换为 将卡片发送到 Outlook 中的撰写框。
在电子邮件中插入的 自适应卡片 不能超过五个。
不支持类型
messageBack
为 、imBack
、invoke
和signin
的卡片操作。openURL
是唯一受支持的卡操作。支持自适应卡片操作。 仅
Action.Submit
支持 stageview 和 taskmodule 启动。
注意
使用链接展开测试应用时,请确保在测试后手动删除该应用。 如果多个应用正在监视同一个域,则可能不会像在 Teams 中那样在 Outlook 中调用最近安装的应用来展开链接。
使用 Microsoft Teams 开发人员社区频道报告问题并提供反馈。
代码示例
示例名称 | 说明 | Node.js |
---|---|---|
NPM 搜索连接器 | 用于生成消息扩展应用的 Teams 工具包示例应用。 在 Teams 和 Outlook 中工作。 | View |
Teams 链接展开 | 用于演示链接展开的简单 Teams 应用。 在 Teams、Outlook 中工作。 | View |
Stageview 中的选项卡 | Microsoft Teams 选项卡示例应用,用于演示 Stageview 中的选项卡。 适用于 Teams、Outlook Microsoft 365 应用。 | View |
适用于 Microsoft 365 的 Teams 基于操作的消息扩展 | 用于生成消息扩展应用的 Teams 工具包示例应用。 在 Teams 和 Outlook 中工作。 | View |