在 Copilot Studio 中,通过使用 HTTP 请求节点调用外部 REST API,可以扩展代理的功能。 需要从外部系统检索数据或操作该系统上的数据时,这可能会很有帮助。
先决条件
使用 HTTP 请求节点
选择添加节点(+),打开高级子菜单,然后选择发送 HTTP 请求。
在 URL 框中,输入要调用的 API 端点的 URL。
从下拉列表中选择适当的请求方法。 支持 GET、POST、PATCH、PUT 和 DELETE 方法。
在节点上的标头和正文下,选择编辑按钮,这将打开 HTTP 请求属性面板。
您可以选择在 HTTP 请求中添加一个或多个标头。 选择添加按钮添加每个标头的关键字和值。
可以使用标头部分来传递身份验证令牌、内容类型或要调用的 API 的任何其他必需标头。 例如,可以添加一个标头,例如
Authorization: Bearer <your_token>
对请求进行身份验证。默认情况下,HTTP 请求的正文中不发送任何内容,但您可以在正文中指定内容。
在节点上,从可用选项中选择响应数据类型。
您可以提供一个示例 JSON 响应,通常可以在您调用的 API 的文档中找到。 它将生成一个 Power Fx 变量,允许您在创作画布的其他地方使用,并在 Power Fx 编辑器中提供智能感知支持。 选择从样本数据中,然后选择从样本 JSON 中获取架构。 将您的示例回答粘贴到编辑器中,然后选择确认。
在将用户响应另存为下,选择要存储 HTTP 请求响应的位置,创建一个新变量或选择一个现有变量。
在 HTTP 请求正文中发送内容
在节点上的标头和正文下,选择编辑按钮,这将打开 HTTP 请求属性面板。
在正文下,选择适当的内容类型。 默认情况下,正文被设置为无内容,其中请求正文中不应出现任何内容,这是 GET 请求最常用的方式。 要向正文添加内容,请从可用选项中选择一个。
JSON 内容:JSON 内容允许您在请求正文中提供一个 JSON 对象。 此对象通常在发出 POST 或 PUT 请求时使用。 选择该选项后,编辑器允许您输入 JSON 内容。
您还可以使用 Power Fx 指定您的 JSON 内容,允许您包含动态值和引用变量。 选择编辑 JSON 按钮,选择公式,然后输入Power Fx对象(输入的任何现有 JSON 都将转换为 Power Fx 对象),当发出 HTTP 请求时,该对象将转换为 JSON。
原始内容:原始内容允许您在请求正文中插入一个数据字符串,该字符串可以是您指定的任何内容类型。 原始内容是使用 Power Fx 公式输入的,如以下示例中所示的字符串内容。
错误处理和超时
HTTP 请求节点有多个选项来处理 HTTP 请求可能失败或返回错误的情况。
默认情况下,该功能会引发错误。 这意味着当 HTTP 请求返回错误或执行失败时,代理将停止其操作并触发出错系统主题,显示错误消息。
不过,也可以配置错误处理,使其不触发出错系统主题。 相反,您可以让它将 HTTP 状态代码和任何错误回复正文存储到您指定的变量中。 您可以根据需要查询这些变量,并且主题可以继续运行。 此配置在您希望代理继续运行的情况下非常有用,即使特定 HTTP 请求失败也是如此。
要配置 HTTP 请求节点的错误处理行为,请执行以下操作:
在标头和正文下,选择编辑。 此时将显示 HTTP 请求属性面板。
在错误处理下,选择所需的行为:抛出错误或出错时继续。
如果选择出错时继续,为状态代码和错误响应正文配置变量。
在此示例中,如果 HTTP 请求失败,代理会将 HTTP 状态代码存储在 Topic.StatusCode
变量中,并将响应正文存储在 Topic.ErrorResponse
变量中。 代理将继续执行该主题的后续步骤。
错误响应变量类型为任何。 您可以使用解析值节点将此变量转换为 Power Fx 记录。
在 HTTP 请求属性面板中,还可以设置请求超时属性(以毫秒为单位)。 默认值为 30 秒。