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

如何在Power Apps中点击取消按钮时停止关联的Power Automate审批流?

停止关联Power Automate审批流的实现方案
  • 提前存储流实例ID
    在触发审批流的环节(比如项目创建或状态变更时触发流),把Power Automate返回的runId存入SharePoint列表的新增列(例如命名为FlowRunId)。这是后续精准停止对应流实例的核心依据。

  • 调用Power Automate管理API终止实例
    在应用的取消按钮逻辑中,新增API调用步骤来停止目标流实例:

    1. 构造POST请求,URL格式为:
      https://management.azure.com/providers/Microsoft.ProcessSimple/environments/{环境ID}/flows/{流ID}/runs/{实例ID}/cancel?api-version=2016-11-01
      
    2. 请求头部需携带授权令牌:通过AzureAD.GetAccessToken("https://management.azure.com")获取令牌,放入Authorization头,值为Bearer {获取到的令牌}
    3. 请求体传空JSON对象{}即可
  • Power Apps中整合完整取消逻辑
    在按钮的OnSelect事件中,将更新SharePoint列和取消流的逻辑合并:

    // 更新SharePoint状态为"取消"
    Patch(
        你的SharePoint列表名称,
        当前选中项目,
        {状态: "取消"}
    );
    
    // 获取存储的流实例ID
    var targetRunId = 当前选中项目.FlowRunId;
    
    // 调用API取消流(仅当实例ID存在时执行)
    If(
        !IsBlank(targetRunId),
        Http.Post(
            "https://management.azure.com/providers/Microsoft.ProcessSimple/environments/你的环境ID/flows/你的流ID/runs/" & targetRunId & "/cancel?api-version=2016-11-01",
            {
                Headers: {
                    "Authorization": "Bearer " & AzureAD.GetAccessToken("https://management.azure.com"),
                    "Content-Type": "application/json"
                },
                Body: "{}"
            }
        )
    )
    

    注意替换代码中的占位符(如你的SharePoint列表名称、你的环境ID、你的流ID)为实际值。

  • 权限配置要求
    确保应用运行账号拥有对应Power Automate流的参与者或所有者权限,同时具备Azure管理API的访问权限,否则会出现调用失败的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:30:27