在整个 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,请确保以下各项:

生成或扩展消息扩展

若要将 Teams 邮件扩展扩展到 Outlook,可以使用 Teams 工具包生成新的邮件扩展应用,或将现有 Teams 邮件扩展应用扩展到 Outlook。

可以通过适用于Visual Studio Code的 Teams 工具包扩展为 Outlook 生成 Teams 邮件扩展应用。 若要生成适用于 Outlook 的邮件扩展应用,请确保以下各项:

可以生成基于搜索或基于操作的消息扩展。

  1. 打开 Visual Studio Code

  2. “视图”选项或 Ctrl+Shift+P 下选择“命令面板...”

  3. 选择 “Teams:创建新应用”。

  4. 从下拉列表中选择“ 消息扩展 ”。

  5. 选择“ 自定义搜索结果 ”,使用最新的应用清单 (以前称为 Teams 应用清单) 下载基于 Teams 搜索的邮件扩展 的示例代码。

    屏幕截图显示用于列出 Teams 示例选项的“创建新的 Teams 应用 VS Code”命令面板。

    还可以从左窗格下载示例代码,在 “开发”下,选择“ 查看示例”。 此时会显示“ 示例 ”选项卡,在搜索字段中输入 NPM 搜索连接器

    屏幕截图显示了 Teams 工具包示例库中的 NPM 搜索连接器示例。

  6. 选择首选编程语言。

  7. 在本地计算机上为工作区文件夹选择一个位置,然后输入应用程序名称。

  8. “视图”选项或 Ctrl+Shift+P 下选择“命令面板...”

  9. 输入 Teams:预配以在 Azure 帐户中创建相关应用资源,例如Azure 应用服务、App 服务计划、Azure 机器人和托管标识。

  10. 选择订阅和资源组。

  11. 选择“ 预配”。 或者,可以在扩展的“生命周期”部分下选择“预配”。

  12. “视图”选项或 Ctrl+Shift+P 下选择“命令面板...”

  13. 输入 “Teams:部署 ”,将示例代码部署到 Azure 中的预配资源并启动应用。 或者,可以在扩展的“生命周期”部分下选择“部署”。

  14. 选择“部署”

现在,你可以在 Teams 中上传应用并在 Outlook 中预览邮件扩展。 若要通过 Teams 工具包生成应用包,请参阅 生成应用包。

在 Teams 中上传自定义应用

将更新的消息扩展 (应用包) 上传到 Teams 中。 完成后,邮件扩展会显示在撰写消息区域中已安装 的应用 中。

  1. 使用应用清单和应用 图标创建 .zip 文件。

  2. 转到 Microsoft Teams 并使用沙盒租户帐户登录。

  3. 选择“应用”>“管理应用”>“上传应用”。

    屏幕截图显示“管理应用”下的“上传应用”选项。

  4. 选择“ 上传自定义应用 ”选项,选择 .zip 文件,并安装 (将其) 添加到 Teams 客户端。

    屏幕截图显示 Teams 中的“上传自定义应用”选项。

通过 Teams 上传邮件扩展后,邮件扩展可在 Outlook for Windows 桌面版和 Web 版中使用。

在 Outlook 中预览邮件扩展

下面介绍如何测试在 Outlook 网页版 中运行的消息扩展。 若要预览在 Outlook 网页版 中运行的应用,请执行以下步骤:

  1. 使用测试租户凭据登录到 outlook.com

  2. 选择“新建邮件”。

  3. 在功能区上选择 “应用 ”。

    屏幕截图显示了在 Outlook 网页版 中预览邮件扩展。

你的邮件扩展已列出。 可以从其中调用它,并像在 Teams 中撰写邮件时一样使用它。

调试

调试消息扩展时,可以通过 Activity 对象的 channelId 字段识别源自 Teams 与 Outlook) 机器人请求的源 (。 当用户执行查询时,服务会收到一个标准 Bot Framework Activity 对象。 Activity 对象中的一个属性是 channelId,其值为 msteamsm365extensions,具体取决于机器人请求的来源。 有关详细信息,请参阅 基于搜索的消息扩展 SDK基于操作的消息传送扩展 SDK

限制

更新的消息扩展继续在 Teams 中运行时,必须注意以下限制:

  • Outlook 中的邮件扩展仅在上下文中 compose 受支持。 在 Teams 应用清单中,Outlook 不支持和 messagecommandBox邮件扩展上下文。

  • Outlook 支持将 卡片发送到 撰写框的基于操作的邮件扩展。 但是,不支持使用 机器人传送卡片 。 在此方案中,可以将邮件扩展转换为 将卡片发送到 Outlook 中的撰写框。

  • 在电子邮件中插入的 自适应卡片 不能超过五个。

  • 不支持类型messageBack为 、imBackinvokesignin卡片操作openURL是唯一受支持的卡操作。

  • 支持自适应卡片操作。 仅 Action.Submit 支持 stageviewtaskmodule 启动。

注意

使用链接展开测试应用时,请确保在测试后手动删除该应用。 如果多个应用正在监视同一个域,则可能不会像在 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

后续步骤