使用 API 生成消息扩展

注意

基于 API 的消息扩展仅支持搜索命令。

使用 API 构建的消息扩展 (基于 API 的) 使用 Web 服务来管理用户请求和响应,并且不需要机器人注册。 可以使用 Teams 开发人员门户和适用于Visual Studio Code的 Teams 工具包、命令行界面 (CLI) 或 Visual Studio 来配置和部署基于 API 的消息扩展。 基于 API 的消息扩展可帮助应用直接与第三方数据、应用和服务交互,从而增强其功能。 使用基于 API 的消息扩展,可以:

  • 检索实时信息,例如产品发布的最新新闻报道。
  • 检索基于知识的信息,例如,我的团队在 Figma 中的设计文件。

可以使用 OpenAPI Description (OAD) 文档创建基于 API 的消息扩展。 创建 OpenAPI 说明文档后,使用 OpenAPI 说明文档生成客户端代码并将其集成到应用的项目中。 Create或生成响应呈现模板来管理来自 API 的响应。

观看视频,了解有关使用 Teams 工具包生成基于 API 的消息扩展的详细信息:

先决条件

在开始之前,请确保遵守以下要求:

OpenAPI 说明

OpenAPI 说明 (OAD) 是行业标准规范,详细说明 OpenAPI 文件的结构和大纲。 它是一种与语言无关、可读的格式,用于描述 API。 人类和计算机都可以轻松读取和写入 openAPI 说明。 该架构是计算机可读的,可以用 YAML 或 JSON 表示。 在创建 API 驱动的消息扩展之前,需要一个 OpenAPI 说明文档。

响应呈现模板

响应呈现模板将 JSON 响应映射到预览卡和自适应卡片。 当用户选择搜索结果时,预览卡片显示为结果。 然后,预览卡扩展为邮件撰写框中的自适应卡片。

每个搜索命令必须具有相应的响应呈现模板,并且每个命令必须对应于 OpenAPI 说明中的操作。 但是,并非 OpenAPI 说明中定义的每个操作都必须是命令。 响应呈现模板由自适应卡片模板、预览卡模板和元数据组成,并且必须符合托管在 处https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.ResponseRenderingTemplate.schema.json的响应呈现模板架构。

更新应用清单

使用 composeExtensions 属性更新应用清单 (以前称为 Teams 应用清单) 。 以下代码是具有 composeExtensions 属性的应用清单示例:

{
  "composeExtensions": [
    {
      "composeExtensionType": "apiBased",
      "apiSpecificationFile": "aitools-openapi.yml",
      "commands": [
        {
          "id": "searchTools",
          "type": "query",
          "context": [
            "compose",
            "commandBox"
          ],
          "title": "search for AI tools",
          "description": "search for AI tools",
          "parameters": [
            {
              "name": "search",
              "title": "search query",
              "description": "e.g. search='tool to create music'"
            }
          ],
          "apiResponseRenderingTemplateFile": "response-template.json"
        }
      ]
    }
  ]
}

屏幕截图显示了从用户到 Teams 并返回到用户的 OpenAPI 说明流。

后续步骤