练习 - 创建消息扩展
在本练习中,你将创建消息扩展解决方案。 使用 Visual Studio 中的 Teams 工具包创建所需的资源,然后启动调试会话并在 Microsoft Teams 中进行测试。
创建消息扩展项目
首先创建一个新的 Microsoft Teams 应用项目,该项目配置了包含搜索命令的消息扩展。 虽然可以使用 Teams Toolkit for Visual Studio 项目模板创建项目,但需要对基架项目进行更改才能完成此模块。 请改用作为 NuGet 包提供的自定义项目模板。 使用自定义模板的好处是,它可以创建包含所需文件和依赖项的解决方案,从而节省时间。
在 PowerShell 会话中:
从 NuGet 安装模板包开始,运行:
dotnet new install M365Advocacy.Teams.Templates
通过运行以下命令创建新项目:
dotnet new teams-msgext-search --name "ProductsPlugin" ` --internal-name "msgext-products" ` --display-name "Contoso products" ` --short-description "Product look up tool." ` --full-description "Get real-time product information and share them in a conversation." ` --command-id "Search" ` --command-description "Find products by name" ` --command-title "Products" ` --parameter-name "ProductName" ` --parameter-title "Product name" ` --parameter-description "The name of the product as a keyword" ` --allow-scripts Yes
等待创建项目。
通过运行
cd ProductsPlugin
来更改项目目录。通过运行
.\ProductsPlugin.sln
在 Visual Studio 中打开解决方案。
创建开发隧道
当用户与消息扩展交互时,机器人服务会向 Web 服务发送请求。 在开发期间,Web 服务在计算机上本地运行。 若要允许机器人服务访问 Web 服务,需要使用开发隧道在计算机之外公开它。
在 Visual Studio 中继续:
- 在工具栏上,选择 “开始” 按钮旁边的下拉列表,展开 “开发隧道 (无活动隧道) ”菜单,然后选择“ 创建隧道...”
- 在对话框中,指定以下值:
- 帐户:选择所选帐户
- 名称:msgext-products
- 隧道类型:临时
- 访问:公共
- 通过选择“ 确定”创建隧道。 显示一个提示,指出新隧道现在是当前活动隧道
- 选择“确定”关闭提示
准备资源
一切准备就绪后,使用 Teams 工具包运行 准备 Teams 应用依赖项 过程,以创建所需的资源。
准备 Teams 应用依赖项过程使用活动 Dev 隧道 URL 更新 TeamsApp\env\.env.local 文件中的BOT_ENDPOINT和BOT_DOMAIN环境变量,并执行 TeamsApp\teamsapp.local.yml 文件中所述的操作。
请花点时间浏览 teamsapp.local.yml 文件中的步骤。
在 Visual Studio 中继续:
- 打开“ 项目 ”菜单 (,也可以右键单击“解决方案资源管理器”) 中的 TeamsApp 项目,展开 “Teams 工具包 ”菜单并选择“ 准备 Teams 应用依赖项”
- 在“Microsoft 365 帐户”对话框中,登录或选择现有帐户以访问 Microsoft 365 租户,然后选择“继续”
- 在“ 预配 ”对话框中,登录或选择要用于将资源部署到 Azure 的现有帐户,并指定以下值:
- 订阅名称:使用下拉列表选择订阅
- 资源组:选择“ 新建...” 以打开对话框,在文本框中输入 rg-msgext-products-local,然后选择“ 确定”
- 区域:使用下拉列表选择离你最近的区域
- 通过选择“预配”在 Azure 中创建资源
- 在 Teams 工具包警告提示中,选择“预配”
- 在 Teams 工具包信息提示中,选择“ 查看预配的资源 ”以打开新的浏览器窗口。
请花点时间浏览在 Azure 中创建的资源,并查看在 .env.local 文件中创建的环境变量。
注意
关闭并重新打开 Visual Studio 时,开发隧道 URL 将更改,并且不再选择作为活动隧道。 如果发生这种情况,需要再次选择隧道,并运行 “准备 Teams 应用依赖项” 过程,以反映应用清单中的更新 URL。
运行和调试
Teams 工具包使用多项目启动配置文件。 若要运行项目,需要在 Visual Studio 中启用预览功能。
在 Visual Studio 中:
- 打开 “工具 ”菜单,然后选择“ 选项...”
- 在搜索框中,输入 多项目
- 在“环境”下,选择“预览功能”
- 选中 “启用多项目启动配置文件 ”旁边的框,然后选择“ 确定 ”以保存所做的更改。
默认情况下,Visual Studio 将使用主Microsoft Edge 配置文件打开浏览器窗口。 如果在准备 Teams 应用依赖项过程中选择使用与主配置文件中使用的帐户不同的 Microsoft 365 帐户,建议将 Visual Studio 配置为启动使用特定 Microsoft Edge 配置文件的浏览器窗口。 这可确保在测试应用时使用正确的帐户和 Microsoft 365 租户。
若要配置 Visual Studio 以使用特定的 Microsoft Edge 配置文件,请执行以下操作:
在 Microsoft Edge 中:
- 切换到要使用的配置文件,或 创建新的配置文件。
- 导航到 edge://version 并记下 ProfilePath 值。 如果配置文件路径为 C:\Users\user\AppData\Local\Microsoft\Edge\User Data\Profile1,则 配置文件 1 是配置文件的目录名称。
- 复制配置文件的目录名称,例如 配置文件 1。
在 Visual Studio 中:
在工具栏上,选择“ 开始” 按钮旁边的下拉列表,选择“ 浏览...”
选择“ 添加...”
在 “添加程序”对话框中,指定以下值:
- 程序:C:\Program Files (x86) \Microsoft\Edge\Application\msedge.exe
- 参数:--profile-directory=“Profile 1”,将 配置文件 1 替换为要使用的配置文件的目录名称
- 友好名称:Microsoft Edge (配置文件名称) ,将 配置文件名称 替换为要使用的配置文件的名称
选择 “确定”
选择“设置为默认值”,然后选择“取消”
若要启动调试会话并在 Microsoft Teams 中安装应用,请执行以下操作:
- 按 F5 或从工具栏中选择 “开始 ”
- 等待浏览器窗口打开,应用安装对话框显示在 Microsoft Teams Web 客户端中。 如果出现提示,请输入Microsoft 365 帐户凭据。
- 在应用安装对话框中,选择 “添加”
测试消息扩展:
- 打开新的或现有的Microsoft Teams 聊天
- 在邮件撰写区域中,选择 + 以打开应用选取器
- 在应用列表中,选择 “Contoso 产品 ”以打开消息扩展
- 在文本框中,输入 你好
- 等待搜索结果出现
- 在结果列表中,选择“ 你好 ”以将卡片嵌入撰写消息框中
返回到 Visual Studio 并从工具栏中选择“ 停止 ”,或按 Shift + F5 停止调试会话。