练习 - 使用 OpenAPI 扩展
在本练习中,您将在 Contoso Invoicing 自定义连接器上配置 OpenAPI 扩展。 您将实施以下扩展:
测试连接 - 验证输入的 API 密钥有效。
动态值 - 将发票类型 ID的输入作为 API 值下拉列表。
动态架构 - 仅显示对选定发票类型有效的参数。
重要提示
使用已预配 Microsoft Dataverse 的测试环境。 如果没有本环境,您可以注册社区计划。
注意
将以下文件下载到本地计算机来完成本练习 Contoso Invoicing 触发器。 选择屏幕中部右侧的下载按钮。
任务 1:导入解决方案
在本任务中,您将导入包含 Contoso Invoicing 自定义连接器的非托管解决方案,然后测试连接器。 您将使用本连接器完成本练习中的任务。
转到 Power Apps Maker Portal 并确保您处于正确的环境中。
选择解决方案 > 导入解决方案。
选择浏览。
选择 ContosoInvoicingExtensions_1_0_0_0.zip 解决方案,然后选择打开。
选择下一步。
选择导入,然后等待导入完成。 您应在导入完成后收到成功消息。
选择发布所有自定义项并等待发布完成。
打开您导入的 Contoso Invoicing - Extensions 解决方案。
您应看到 Contoso Invoicing - Extensions 自定义连接器组件。
选择 Contoso Invoicing - Extensions 连接器,然后选择编辑。
启动新的浏览器窗口,然后转到 Contoso Invoicing。
选择API 密钥链接。
复制API 密钥。 在记事本中保存本密钥,您需要在稍后的任务中使用本密钥。
返回连接器,选择测试选项卡,然后选择+ 新建连接。
在API 密钥字段中粘贴您复制的密钥,然后选择创建连接。
选择刷新连接。
向下滚动到操作部分,选择ListInvoiceTypes,然后选择测试操作。
您应收到包含发票类型的响应。 稍后,您将使用此操作为发票类型参数实施动态值扩展。
请勿离开此页面。
任务 2:添加测试连接扩展
在本任务中,您将添加测试连接扩展:
打开Swagger 编辑器切换开关。
在 produces: [] 后添加以下片段,然后选择更新连接器。 确保文本缩进与下图一致。
x-ms-capabilities: testConnection: operationId: ListInvoices parameters: {}
确保缩进看起来与下图类似。
再次选择+ 新建连接。
输入API 密钥的名称或其他随机值,然后选择创建连接。
连接创建应失败。
在API 密钥字段中提供您在任务 1 中复制的 API 密钥,然后选择创建连接。
此时连接创建应成功。
请勿离开此页面。
任务 3:为发票类型 ID 配置动态值
在本任务中,您将为发票类型 ID 配置动态值:
选择定义选项卡。
在操作部分选择 AddInvoice。
向下滚动,选择 TypeId 参数的省略号(V 形)按钮,然后选择编辑。
在摘要中输入发票类型,在默认值中输入1,然后为必填选择是。
向下滚动并为下拉列表类型选择动态。
为操作 ID选择ListInvoiceTypes,为值选择typeId,为值显示名称选择名称。
选择更新连接器。
打开 Swagger 编辑器切换开关。
如果出现哈希密钥错误,请关闭连接器浏览器选项卡,然后在编辑模式下重新打开。
查找 AddInvoice 并查看是否已添加 x-ms-dynamic-values。
请勿离开此页面。
任务 4:配置动态架构扩展
在本任务中,您将配置动态架构扩展:
选择测试选项卡。
选择GetInvoiceSchema操作,然后选择测试操作。
查看回应。 API 需要返回本响应以便配置动态架构。
打开Swagger 编辑器切换开关。
查找CreateInvoiceRequest行并将发票行替换为以下 Swagger 文本。
发票:
x-ms-dynamic-properties:
operationId:GetInvoiceSchema
参数:
typeId:{parameterReference: typeId}
之前:
之后:
确保缩进与下图匹配。
关闭Swagger 编辑器切换开关。
选择定义选项卡。
选择GetInvoiceSchema操作,然后为可见性选择内部。
选择更新连接器。
任务 5:测试连接器
在本任务中,您将测试连接器:
转到 Power Automate 并确保您处于正确的环境中。
选择解决方案并打开 Contoso Invoicing - Extensions 解决方案。
选择 + 新建,然后选择自动化 > 云端流 > 即时。
输入动态元数据作为流名称,触发器选择手动触发流,然后选择创建。
选择 + 新建步骤。
选择自定义选项卡,然后选择 Contoso Invoicing - Extensions。
为操作选择 AddInvoice。
在名称中输入我的连接,为 API 密钥输入名称,然后选择创建。 连接测试应失败。
在 API 密钥字段中提供您在任务 1 中复制的 API 密钥,然后再次选择创建。
连接应创建成功。
在发票类型下拉菜单中选择采购订单。
采购订单字段现在应可见。
将发票类型改为非采购订单。
采购订单字段应不再可见。
保存该流。