UiPath Documentation
maestro
latest
false
Maestro 用户指南
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。

调用外部 API

调用经过身份验证的代表性状态传输 (REST) API,处理响应,并为下游工作流节点提取数据。

您将构建的内容:调用经过身份验证的代表性状态转移 (REST) API、处理响应并将提取的数据提供给下游节点的工作流。这是 Flow 中最常见的模式之一,适用于公开 HTTP 端点的任何系统。

需要满足的条件

  • 有权访问 Maestro Flow 的 UiPath Automation Cloud 帐户。
  • 目标 API 的基本 URL、端点路径和身份验证详细信息(API 密钥、持有者令牌或基本身份验证凭据)。

使用的节点

步骤

1. 新建流程并添加触发器

  1. 打开MaestroFlow,然后创建新的工作流。
  2. “手动触发器”拖动到画布上。

2. 添加并配置“HTTP 请求”节点

  1. “HTTP 请求”节点拖动到画布上,并将其连接到触发器。
  2. 在配置面板中:
    • “方法”设置为适当的动词( GETPOSTPUTPATCHDELETE )。
    • 输入端点的完整URL
    • “标头”下,添加身份验证和“内容类型”标头。

对于 API 密钥身份验证:

添加键为Authorization值为Bearer {{ secret.apiKey }}的标头。secret.前缀告知流从安全变量存储中查找值 — 切勿将密钥直接粘贴到字段中。

对于基本身份验证:

添加键为Authorization且值为Basic {{ secret.encodedCredentials }}标头,其中encodedCredentials是 Base64 编码的username:password字符串。

3. 提取所需数据

  1. 数据转换节点拖动到画布上,并将其连接到 HTTP 请求节点。
  2. 在配置面板中,将$vars.httpRequest1.output.body中的所需响应字段映射到命名输出变量。

例如,要从{ "user": { "name": "Alex", "email": "alex@example.com" } }等响应中提取用户名和邮箱,请映射:

  • $vars.httpRequest1.output.body.user.nameuserName
  • $vars.httpRequest1.output.body.user.emailuserEmail

4. 添加错误处理

  1. 选择“HTTP 请求”节点。
  2. 从其错误句柄(右下角连接器)拖动到新的脚本节点。
  3. 在“脚本”节点中,记录$vars.httpRequest1.error中的错误:
const error = $vars.httpRequest1.error;
console.log('API call failed:', error.message, '| Status:', error.status);
return null;
const error = $vars.httpRequest1.error;
console.log('API call failed:', error.message, '| Status:', error.status);
return null;

5. 测试和调试

选择“测试” 。在执行追踪中:

  • 检查 HTTP 请求节点的statusCode输出。200表示成功; 401表示您的身份验证错误; 404表示 URL 不正确。
  • 检查数据转换节点的输出,以确认已正确提取字段。
  • 要测试错误路径,请暂时将 URL 设置为无效值,并验证错误路径是否执行。

结果

您的工作流调用 REST API,从响应中提取所需的字段,并在错误路径上记录失败。您可以在执行追踪记录中检查 HTTP 状态代码和提取的值,并确认成功路径和错误路径都按预期工作。

扩展此工作流

  • 处理分页:如果 API 返回的结果跨多个页面,请添加后续 HTTP 请求节点以获取其他页面,根据响应是否包含下一页光标进行“决策”分支。
  • 将结果写入另一个系统:在“数据转换”节点后,添加另一个“HTTP 请求”节点或集成节点,以将数据推送到下游。
  • 计划:将“手动触发器”替换为“计划触发器” ,以定期运行工作流。

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新