练习 - 使用 OpenAPI 扩展

已完成

在本练习中,您将在 Contoso Invoicing 自定义连接器上配置 OpenAPI 扩展。 您将实施以下扩展:

  • 测试连接 - 验证输入的 API 密钥有效。

  • 动态值 - 将发票类型 ID的输入作为 API 值下拉列表。

  • 动态架构 - 仅显示对选定发票类型有效的参数。

重要提示

使用已预配 Microsoft Dataverse 的测试环境。 如果没有本环境,您可以注册社区计划

注意

将以下文件下载到本地计算机来完成本练习 Contoso Invoicing 触发器。 选择屏幕中部右侧的下载按钮。

任务 1:导入解决方案

在本任务中,您将导入包含 Contoso Invoicing 自定义连接器的非托管解决方案,然后测试连接器。 您将使用本连接器完成本练习中的任务。

  1. 转到 Power Apps Maker Portal 并确保您处于正确的环境中。

  2. 选择解决方案 > 导入解决方案

  3. 选择浏览

  4. 选择 ContosoInvoicingExtensions_1_0_0_0.zip 解决方案,然后选择打开

  5. 选择下一步

  6. 选择导入,然后等待导入完成。 您应在导入完成后收到成功消息。

  7. 选择发布所有自定义项并等待发布完成。

  8. 打开您导入的 Contoso Invoicing - Extensions 解决方案。

    您应看到 Contoso Invoicing - Extensions 自定义连接器组件。

  9. 选择 Contoso Invoicing - Extensions 连接器,然后选择编辑

    箭头指向“编辑解决方案”按钮的屏幕截图。

  10. 启动新的浏览器窗口,然后转到 Contoso Invoicing

  11. 选择API 密钥链接。

  12. 复制API 密钥。 在记事本中保存本密钥,您需要在稍后的任务中使用本密钥。

  13. 返回连接器,选择测试选项卡,然后选择+ 新建连接

    “添加新连接”按钮屏幕截图。

  14. API 密钥字段中粘贴您复制的密钥,然后选择创建连接

  15. 选择刷新连接。

  16. 向下滚动到操作部分,选择ListInvoiceTypes,然后选择测试操作

    箭头指向“测试操作”按钮的屏幕截图。

    您应收到包含发票类型的响应。 稍后,您将使用此操作为发票类型参数实施动态值扩展。

    显示响应正文内容的屏幕截图。

  17. 请勿离开此页面。

任务 2:添加测试连接扩展

在本任务中,您将添加测试连接扩展:

  1. 打开Swagger 编辑器切换开关。

    打开 Swagger 编辑器切换按钮的屏幕截图。

  2. produces: [] 后添加以下片段,然后选择更新连接器。 确保文本缩进与下图一致。

    x-ms-capabilities:
       testConnection:
         operationId: ListInvoices
         parameters: {}
    

    确保缩进看起来与下图类似。

    箭头指向“更新连接器”按钮的屏幕截图。

  3. 再次选择+ 新建连接

    箭头指向添加新连接按钮的屏幕截图。

  4. 输入API 密钥的名称或其他随机值,然后选择创建连接

    连接创建应失败。

    连接失败消息屏幕截图。

  5. API 密钥字段中提供您在任务 1 中复制的 API 密钥,然后选择创建连接

    此时连接创建应成功。

  6. 请勿离开此页面。

任务 3:为发票类型 ID 配置动态值

在本任务中,您将为发票类型 ID 配置动态值:

  1. 选择定义选项卡。

  2. 操作部分选择 AddInvoice

  3. 向下滚动,选择 TypeId 参数的省略号(V 形)按钮,然后选择编辑

    箭头指向“编辑查询参数”按钮的屏幕截图。

  4. 摘要中输入发票类型,在默认值中输入1,然后为必填选择

    查询参数属性屏幕截图。

  5. 向下滚动并为下拉列表类型选择动态

  6. 操作 ID选择ListInvoiceTypes,为选择typeId,为值显示名称选择名称

    查询参数属性屏幕截图。

  7. 选择更新连接器

  8. 打开 Swagger 编辑器切换开关。

  9. 如果出现哈希密钥错误,请关闭连接器浏览器选项卡,然后在编辑模式下重新打开。

  10. 查找 AddInvoice 并查看是否已添加 x-ms-dynamic-values

    已添加动态值的屏幕截图。

  11. 请勿离开此页面。

任务 4:配置动态架构扩展

在本任务中,您将配置动态架构扩展:

  1. 选择测试选项卡。

  2. 选择GetInvoiceSchema操作,然后选择测试操作

    箭头指向“获取发票架构操作”按钮的屏幕截图。

  3. 查看回应。 API 需要返回本响应以便配置动态架构

    获取发票架构响应屏幕截图。

  4. 打开Swagger 编辑器切换开关。

  5. 查找CreateInvoiceRequest行并将发票行替换为以下 Swagger 文本。

    发票:

    x-ms-dynamic-properties:

    operationId:GetInvoiceSchema

    参数:

    typeId:{parameterReference: typeId}

    之前

    编辑前 Swagger 文本屏幕截图。

    之后

    确保缩进与下图匹配。

    编辑后 Swagger 文本屏幕截图。

  6. 关闭Swagger 编辑器切换开关。

  7. 选择定义选项卡。

  8. 选择GetInvoiceSchema操作,然后为可见性选择内部

    获取发票架构操作可见性屏幕截图。

  9. 选择更新连接器

任务 5:测试连接器

在本任务中,您将测试连接器:

  1. 转到 Power Automate 并确保您处于正确的环境中。

  2. 选择解决方案并打开 Contoso Invoicing - Extensions 解决方案。

  3. 选择 + 新建,然后选择自动化 > 云端流 > 即时

    箭头指向“新建云端流”按钮的屏幕截图。

  4. 输入动态元数据作为流名称,触发器选择手动触发流,然后选择创建

  5. 选择 + 新建步骤

  6. 选择自定义选项卡,然后选择 Contoso Invoicing - Extensions

  7. 为操作选择 AddInvoice

  8. 在名称中输入我的连接,为 API 密钥输入名称,然后选择创建。 连接测试应失败。

箭头指向自定义连接器的屏幕截图。

  1. API 密钥字段中提供您在任务 1 中复制的 API 密钥,然后再次选择创建

    连接应创建成功。

  2. 发票类型下拉菜单中选择采购订单

    箭头指向采购订单发票类型的屏幕截图。

    采购订单字段现在应可见。

    采购订单字段可见的自定义连接器操作屏幕截图。

  3. 发票类型改为非采购订单

    采购订单字段应不再可见。

    隐藏“采购订单”字段的自定义连接器操作屏幕截图。

  4. 保存该流。