You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power Automate中循环尝试多组API Key直至请求成功?

单流循环尝试多API_KEY实现方案

完全可行,利用Power Automate的循环控制和错误捕获机制就能实现需求,具体步骤如下:

1. 初始化变量

  • 创建数组变量var_APIKeys,存入所有工作区的API_KEY,格式示例:
    ["key_workspace_1", "key_workspace_2", ..., "key_workspace_15"]
    
  • 创建整数变量var_CurrentIndex,初始值设为0,用来标记当前尝试的API_KEY索引

2. 添加Do Until循环

  • 设置循环终止条件:@equals(outputs('HTTP_GET_文档下载')?['statusCode'], 200)
  • 设置最大循环次数为15(和API_KEY数量一致,避免无限循环)

3. 循环内逻辑

3.1 获取当前API_KEY

添加Set variable动作,将var_CurrentAPIKey设为:

variables('var_APIKeys')[variables('var_CurrentIndex')]

3.2 执行HTTP GET请求

  • URI填写:https://api.EXAMPLE.com/public/v1/{DOC_ID}/download(替换{DOC_ID}为webhook传入的文档ID变量)
  • 请求头添加Authorization,值为:
    concat('API-Key: ', variables('var_CurrentAPIKey'))
    
  • 关键配置:点击HTTP请求动作的菜单 → Configure run after,勾选is successful、has failed、has timed out,确保即使返回401错误,流程仍能继续执行循环

3.3 判断请求结果并更新索引

添加Condition动作,判断两个条件:

  • 左侧:outputs('HTTP_GET_文档下载')?['statusCode'],等于401
  • 左侧:outputs('HTTP_GET_文档下载')?['body']?['type'],等于authentication_error

如果条件成立(即无效API_KEY):

  • 添加Increment variable动作,将var_CurrentIndex自增1,进入下一次循环

如果条件不成立(比如返回200或其他错误):

  • 若返回200,循环会自动终止,继续后续流程;若为其他错误(如500),可添加通知或日志动作后终止流程

4. 循环异常处理

在循环外添加Configure run after,处理循环达到最大次数仍未成功的情况:

  • 发送邮件/Teams通知,记录所有API_KEY尝试失败的日志

内容的提问来源于stack exchange,提问作者Bijan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 01:17:25